cyclonedx.model.signature
JSF (JSON Signature Format) signature-related classes.
Note
JSON-only. There is no XSD/XML equivalent for JSF signatures in CycloneDX.
Note
Introduced in CycloneDX v1.4
Note
See the JSF specification: https://cyberphone.github.io/doc/security/jsf.html See the CycloneDX Schema reference: https://cyclonedx.org/docs/1.4/json/#signature
Classes
Recognized JWA [RFC7518] and RFC8037 asymmetric/symmetric key algorithms for JSF signatures. |
|
Key type indicator for a JSF public key. |
|
Public key object as defined by the JSF standard. |
|
JSF (JSON Signature Format) signature object — abstract base class. |
|
JSF simple signature object: |
|
Multiple-signers JSF signature: |
|
Signature-chain JSF signature: |
Module Contents
- class cyclonedx.model.signature.JsfAlgorithm
Bases:
str,enum.EnumRecognized JWA [RFC7518] and RFC8037 asymmetric/symmetric key algorithms for JSF signatures.
Note: Unlike RFC8037, JSF requires explicit Ed* algorithm names instead of “EdDSA”.
For proprietary algorithms, pass a URI string directly — the
algorithmfield onJsfSignature,JsfSignatureSigners, andJsfSignatureChainaccepts bothJsfAlgorithmenum values and arbitrary strings.- RS256 = 'RS256'
- RS384 = 'RS384'
- RS512 = 'RS512'
- PS256 = 'PS256'
- PS384 = 'PS384'
- PS512 = 'PS512'
- ES256 = 'ES256'
- ES384 = 'ES384'
- ES512 = 'ES512'
- ED25519 = 'Ed25519'
- ED448 = 'Ed448'
- HS256 = 'HS256'
- HS384 = 'HS384'
- HS512 = 'HS512'
- class cyclonedx.model.signature.JsfKeyType
Bases:
str,enum.EnumKey type indicator for a JSF public key.
- EC = 'EC'
- OKP = 'OKP'
- RSA = 'RSA'
- class cyclonedx.model.signature.JsfPublicKey(*, kty: JsfKeyType, crv: str | None = None, x: str | None = None, y: str | None = None, n: str | None = None, e: str | None = None)
Public key object as defined by the JSF standard.
Supports three key types (determined by
kty):EC: requires
crv,x,yOKP: requires
crv,xRSA: requires
n,e
- kty
- crv = None
- x = None
- y = None
- n = None
- e = None
- class cyclonedx.model.signature.JsfSignature
JSF (JSON Signature Format) signature object — abstract base class.
The JSF specification defines three mutually exclusive signature modes, each represented by a separate concrete class:
Simple signature (
signaturecore):JsfSimpleSignature: a single signature with requiredalgorithmandvalue, plus optionalkey_id,public_key,certificate_path, andexcludesMultiple signers (
multisignature):JsfSignatureSigners: contains asignerslist ofJsfSimpleSignatureSignature chain (
signaturechain):JsfSignatureChain: contains achainlist ofJsfSimpleSignature
Note
JSON-only. There is no XSD/XML equivalent in any CycloneDX schema version.
Note
Introduced in CycloneDX v1.4
- class cyclonedx.model.signature.JsfSimpleSignature(*, algorithm: JsfAlgorithm | str, value: str, key_id: str | None = None, public_key: JsfPublicKey | None = None, certificate_path: list[str] | None = None, excludes: list[str] | None = None)
Bases:
JsfSignatureJSF simple signature object:
signaturecoremode.Represents a single signature with required
algorithmandvalue, plus optionalkey_id,public_key,certificate_path, andexcludes.- algorithm
- value
- key_id = None
- public_key = None
- certificate_path
- excludes
- class cyclonedx.model.signature.JsfSignatureSigners(*, signers: list[JsfSimpleSignature])
Bases:
JsfSignatureMultiple-signers JSF signature:
multisignaturein the JSF schema.Contains a list of
JsfSimpleSignatureobjects serialized under thesignerskey.- signers
- class cyclonedx.model.signature.JsfSignatureChain(*, chain: list[JsfSimpleSignature])
Bases:
JsfSignatureSignature-chain JSF signature:
signaturechainin the JSF schema.Contains a list of
JsfSimpleSignatureobjects serialized under thechainkey.- chain