# cyclonedx.model.crypto

This set of classes represents cryptoPropertiesType Complex Type in the CycloneDX standard.

Note

Introduced in CycloneDX v1.6

Note

See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

## Classes

`CryptoAssetType` | This is our internal representation of the cryptoPropertiesType.assetType ENUM type within the CycloneDX standard.
`CryptoPrimitive` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.primitive ENUM type within the
`CryptoExecutionEnvironment` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.executionEnvironment ENUM type
`CryptoImplementationPlatform` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.implementationPlatform ENUM type
`CryptoCertificationLevel` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.certificationLevel ENUM type
`CryptoMode` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.mode ENUM type
`CryptoPadding` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.padding ENUM type
`CryptoFunction` | This is our internal representation of the cryptoPropertiesType.algorithmProperties.cryptoFunctions.cryptoFunction
`AlgorithmProperties` | This is our internal representation of the cryptoPropertiesType.algorithmProperties ENUM type within the CycloneDX
`CertificateProperties` | This is our internal representation of the cryptoPropertiesType.certificateProperties complex type within
`RelatedCryptoMaterialType` | This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.type ENUM type
`RelatedCryptoMaterialState` | This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.state ENUM type
`RelatedCryptoMaterialSecuredBy` | This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.securedBy complex
`RelatedCryptoMaterialProperties` | This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties complex type
`ProtocolPropertiesType` | This is our internal representation of the cryptoPropertiesType.protocolProperties.type ENUM type
`ProtocolPropertiesCipherSuite` | This is our internal representation of the cryptoPropertiesType.protocolProperties.cipherSuites.cipherSuite
`Ikev2TransformTypes` | This is our internal representation of the cryptoPropertiesType.protocolProperties.ikev2TransformTypes
`ProtocolProperties` | This is our internal representation of the cryptoPropertiesType.protocolProperties complex type within
`CryptoProperties` | This is our internal representation of the cryptoPropertiesType complex type within CycloneDX standard.

## Module Contents

class cyclonedx.model.crypto.CryptoAssetType

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.assetType ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  ALGORITHM = 'algorithm'
  CERTIFICATE = 'certificate'
  PROTOCOL = 'protocol'
  RELATED_CRYPTO_MATERIAL = 'related-crypto-material'

class cyclonedx.model.crypto.CryptoPrimitive

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.primitive ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  AE = 'ae'
  BLOCK_CIPHER = 'block-cipher'
  COMBINER = 'combiner'
  DRBG = 'drbg'
  HASH = 'hash'
  KDF = 'kdf'
  KEM = 'kem'
  KEY_AGREE = 'key-agree'
  KEY_WRAP = 'key-wrap'
  MAC = 'mac'
  PKE = 'pke'
  SIGNATURE = 'signature'
  STREAM_CIPHER = 'stream-cipher'
  XOF = 'xof'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoExecutionEnvironment

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.executionEnvironment ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  HARDWARE = 'hardware'
  SOFTWARE_ENCRYPTED_RAM = 'software-encrypted-ram'
  SOFTWARE_PLAIN_RAM = 'software-plain-ram'
  SOFTWARE_TEE = 'software-tee'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoImplementationPlatform

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.implementationPlatform ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  ARMV7_A = 'armv7-a'
  ARMV7_M = 'armv7-m'
  ARMV8_A = 'armv8-a'
  ARMV8_M = 'armv8-m'
  ARMV9_A = 'armv9-a'
  ARMV9_M = 'armv9-m'
  PPC64 = 'ppc64'
  PPC64LE = 'ppc64le'
  S390X = 's390x'
  X86_32 = 'x86_32'
  X86_64 = 'x86_64'
  GENERIC = 'generic'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoCertificationLevel

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.certificationLevel ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  NONE = 'none'
  FIPS140_1_L1 = 'fips140-1-l1'
  FIPS140_1_L2 = 'fips140-1-l2'
  FIPS140_1_L3 = 'fips140-1-l3'
  FIPS140_1_L4 = 'fips140-1-l4'
  FIPS140_2_L1 = 'fips140-2-l1'
  FIPS140_2_L2 = 'fips140-2-l2'
  FIPS140_2_L3 = 'fips140-2-l3'
  FIPS140_2_L4 = 'fips140-2-l4'
  FIPS140_3_L1 = 'fips140-3-l1'
  FIPS140_3_L2 = 'fips140-3-l2'
  FIPS140_3_L3 = 'fips140-3-l3'
  FIPS140_3_L4 = 'fips140-3-l4'
  CC_EAL1 = 'cc-eal1'
  CC_EAL1_PLUS = 'cc-eal1+'
  CC_EAL2 = 'cc-eal2'
  CC_EAL2_PLUS = 'cc-eal2+'
  CC_EAL3 = 'cc-eal3'
  CC_EAL3_PLUS = 'cc-eal3+'
  CC_EAL4 = 'cc-eal4'
  CC_EAL4_PLUS = 'cc-eal4+'
  CC_EAL5 = 'cc-eal5'
  CC_EAL5_PLUS = 'cc-eal5+'
  CC_EAL6 = 'cc-eal6'
  CC_EAL6_PLUS = 'cc-eal6+'
  CC_EAL7 = 'cc-eal7'
  CC_EAL7_PLUS = 'cc-eal7+'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoMode

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.mode ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  CBC = 'cbc'
  CCM = 'ccm'
  CFB = 'cfb'
  CTR = 'ctr'
  ECB = 'ecb'
  GCM = 'gcm'
  OFB = 'ofb'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoPadding

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.padding ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  PKCS5 = 'pkcs5'
  PKCS7 = 'pkcs7'
  PKCS1V15 = 'pkcs1v15'
  OAEP = 'oaep'
  RAW = 'raw'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.CryptoFunction

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.algorithmProperties.cryptoFunctions.cryptoFunction ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  DECAPSULATE = 'decapsulate'
  DECRYPT = 'decrypt'
  DIGEST = 'digest'
  ENCAPSULATE = 'encapsulate'
  ENCRYPT = 'encrypt'
  GENERATE = 'generate'
  KEYDERIVE = 'keyderive'
  KEYGEN = 'keygen'
  SIGN = 'sign'
  TAG = 'tag'
  VERIFY = 'verify'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.AlgorithmProperties(*, primitive: CryptoPrimitive | None = None, parameter_set_identifier: str | None = None, curve: str | None = None, execution_environment: CryptoExecutionEnvironment | None = None, implementation_platform: CryptoImplementationPlatform | None = None, certification_levels: collections.abc.Iterable[CryptoCertificationLevel] | None = None, mode: CryptoMode | None = None, padding: CryptoPadding | None = None, crypto_functions: collections.abc.Iterable[CryptoFunction] | None = None, classical_security_level: int | None = None, nist_quantum_security_level: int | None = None)

  This is our internal representation of the cryptoPropertiesType.algorithmProperties ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property primitive: CryptoPrimitive | None

    Cryptographic building blocks used in higher-level cryptographic systems and protocols.

    Primitives represent different cryptographic routines: deterministic random bit generators (drbg, e.g. CTR_DRBG from NIST SP800-90A-r1), message authentication codes (mac, e.g. HMAC-SHA-256), blockciphers (e.g. AES), streamciphers (e.g. Salsa20), signatures (e.g. ECDSA), hash functions (e.g. SHA-256), public-key encryption schemes (pke, e.g. RSA), extended output functions (xof, e.g. SHAKE256), key derivation functions (e.g. pbkdf2), key agreement algorithms (e.g. ECDH), key encapsulation mechanisms (e.g. ML-KEM), authenticated encryption (ae, e.g. AES-GCM) and the combination of multiple algorithms (combiner, e.g. SP800-56Cr2).

    Returns:

      CryptoPrimitive or None

  property parameter_set_identifier: str | None

    An identifier for the parameter set of the cryptographic algorithm. Examples: in AES128, ‘128’ identifies the key length in bits, in SHA256, ‘256’ identifies the digest length, ‘128’ in SHAKE128 identifies its maximum security level in bits, and ‘SHA2-128s’ identifies a parameter set used in SLH-DSA (FIPS205).

    Returns:

      str or None

  property curve: str | None

    The specific underlying Elliptic Curve (EC) definition employed which is an indicator of the level of security strength, performance and complexity. Absent an authoritative source of curve names, CycloneDX recommends use of curve names as defined at https://neuromancer.sk/std/, the source from which can be found at https://github.com/J08nY/std-curves.

    Returns:

      str or None

  property execution_environment: CryptoExecutionEnvironment | None

    The target and execution environment in which the algorithm is implemented in.

    Returns:

      CryptoExecutionEnvironment or None

  property implementation_platform: CryptoImplementationPlatform | None

    The target platform for which the algorithm is implemented. The implementation can be ‘generic’, running on any platform or for a specific platform.

    Returns:

      CryptoImplementationPlatform or None

  property certification_levels: SortedSet[CryptoCertificationLevel]

    The certification that the implementation of the cryptographic algorithm has received, if any. Certifications include revisions and levels of FIPS 140 or Common Criteria of different Extended Assurance Levels (CC-EAL).

    Returns:

      Iterable[CryptoCertificationLevel]

  property mode: CryptoMode | None

    The mode of operation in which the cryptographic algorithm (block cipher) is used.

    Returns:

      CryptoMode or None

  property padding: CryptoPadding | None

    The padding scheme that is used for the cryptographic algorithm.

    Returns:

      CryptoPadding or None

  property crypto_functions: SortedSet[CryptoFunction]

    The cryptographic functions implemented by the cryptographic algorithm.

    Returns:

      Iterable[CryptoFunction]

  property classical_security_level: int | None

    The classical security level that a cryptographic algorithm provides (in bits).

    Returns:

      int or None

  property nist_quantum_security_level: int | None

    The NIST security strength category as defined in https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/ evaluation-criteria/security-(evaluation-criteria). A value of 0 indicates that none of the categories are met.

    Returns:

      int or None

class cyclonedx.model.crypto.CertificateProperties(*, subject_name: str | None = None, issuer_name: str | None = None, not_valid_before: datetime.datetime | None = None, not_valid_after: datetime.datetime | None = None, signature_algorithm_ref: cyclonedx.model.bom_ref.BomRef | None = None, subject_public_key_ref: cyclonedx.model.bom_ref.BomRef | None = None, certificate_format: str | None = None, certificate_extension: str | None = None)

  This is our internal representation of the cryptoPropertiesType.certificateProperties complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property subject_name: str | None

    The subject name for the certificate.

    Returns:

      str or None

  property issuer_name: str | None

    The issuer name for the certificate.

    Returns:

      str or None

  property not_valid_before: datetime.datetime | None

    The date and time according to ISO-8601 standard from which the certificate is valid.

    Returns:

      datetime or None

  property not_valid_after: datetime.datetime | None

    The date and time according to ISO-8601 standard from which the certificate is not valid anymore.

    Returns:

      datetime or None

  property signature_algorithm_ref: cyclonedx.model.bom_ref.BomRef | None

    The bom-ref to signature algorithm used by the certificate.

    Returns:

      BomRef or None

  property subject_public_key_ref: cyclonedx.model.bom_ref.BomRef | None

    The bom-ref to the public key of the subject.

    Returns:

      BomRef or None

  property certificate_format: str | None

    The format of the certificate. Examples include X.509, PEM, DER, and CVC.

    Returns:

      str or None

  property certificate_extension: str | None

    The file extension of the certificate. Examples include crt, pem, cer, der, and p12.

    Returns:

      str or None

class cyclonedx.model.crypto.RelatedCryptoMaterialType

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.type ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  ADDITIONAL_DATA = 'additional-data'
  CIPHERTEXT = 'ciphertext'
  CREDENTIAL = 'credential'
  DIGEST = 'digest'
  INITIALIZATION_VECTOR = 'initialization-vector'
  KEY = 'key'
  NONCE = 'nonce'
  PASSWORD = 'password'
  PRIVATE_KEY = 'private-key'
  PUBLIC_KEY = 'public-key'
  SALT = 'salt'
  SECRET_KEY = 'secret-key'
  SEED = 'seed'
  SHARED_SECRET = 'shared-secret'
  SIGNATURE = 'signature'
  TAG = 'tag'
  TOKEN = 'token'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.RelatedCryptoMaterialState

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.state ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  ACTIVE = 'active'
  COMPROMISED = 'compromised'
  DEACTIVATED = 'deactivated'
  DESTROYED = 'destroyed'
  PRE_ACTIVATION = 'pre-activation'
  SUSPENDED = 'suspended'

class cyclonedx.model.crypto.RelatedCryptoMaterialSecuredBy(*, mechanism: str | None = None, algorithm_ref: cyclonedx.model.bom_ref.BomRef | None = None)

  This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.securedBy complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property mechanism: str | None

    Specifies the mechanism by which the cryptographic asset is secured by. Examples include HSM, TPM, XGX, Software, and None.

    Returns:

      str or None

  property algorithm_ref: cyclonedx.model.bom_ref.BomRef | None

    The bom-ref to the algorithm.

    Returns:

      BomRef or None

class cyclonedx.model.crypto.RelatedCryptoMaterialProperties(*, type: RelatedCryptoMaterialType | None = None, id: str | None = None, state: RelatedCryptoMaterialState | None = None, algorithm_ref: cyclonedx.model.bom_ref.BomRef | None = None, creation_date: datetime.datetime | None = None, activation_date: datetime.datetime | None = None, update_date: datetime.datetime | None = None, expiration_date: datetime.datetime | None = None, value: str | None = None, size: int | None = None, format: str | None = None, secured_by: RelatedCryptoMaterialSecuredBy | None = None)

  This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property type: RelatedCryptoMaterialType | None

    The type for the related cryptographic material.

    Returns

  property id: str | None

    The optional unique identifier for the related cryptographic material.

    Returns:

  property state: RelatedCryptoMaterialState | None

    The key state as defined by NIST SP 800-57.

    Returns:

      RelatedCryptoMaterialState or None

  property algorithm_ref: cyclonedx.model.bom_ref.BomRef | None

    The bom-ref to the algorithm used to generate the related cryptographic material.

    Returns:

      BomRef or None

  property creation_date: datetime.datetime | None

    The date and time (timestamp) when the related cryptographic material was created.

    Returns:

      datetime or None

  property activation_date: datetime.datetime | None

    The date and time (timestamp) when the related cryptographic material was activated.

    Returns:

      datetime or None

  property update_date: datetime.datetime | None

    The date and time (timestamp) when the related cryptographic material was updated.

    Returns:

      datetime or None

  property expiration_date: datetime.datetime | None

    The date and time (timestamp) when the related cryptographic material expires.

    Returns:

      datetime or None

  property value: str | None

    The associated value of the cryptographic material.

    Returns:

      str or None

  property size: int | None

    The size of the cryptographic asset (in bits).

    Returns:

      int or None

  property format: str | None

    The format of the related cryptographic material (e.g. P8, PEM, DER).

    Returns:

      str or None

  property secured_by: RelatedCryptoMaterialSecuredBy | None

    The mechanism by which the cryptographic asset is secured by.

    Returns:

      RelatedCryptoMaterialSecuredBy or None

class cyclonedx.model.crypto.ProtocolPropertiesType

  Bases: `str`, `enum.Enum`

  This is our internal representation of the cryptoPropertiesType.protocolProperties.type ENUM type within the CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  DTLS = 'dtls'
  EAP_AKA = 'eap-aka'
  EAP_AKA_PRIME = 'eap-aka-prime'
  FIVEG_AKA = '5g-aka'
  IKE = 'ike'
  IPSEC = 'ipsec'
  PRINS = 'prins'
  QUIC = 'quic'
  SSH = 'ssh'
  SSTP = 'sstp'
  TLS = 'tls'
  WPA = 'wpa'
  OTHER = 'other'
  UNKNOWN = 'unknown'

class cyclonedx.model.crypto.ProtocolPropertiesCipherSuite(*, name: str | None = None, algorithms: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None, identifiers: collections.abc.Iterable[str] | None = None)

  This is our internal representation of the cryptoPropertiesType.protocolProperties.cipherSuites.cipherSuite complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property name: str | None

    A common name for the cipher suite. For example: TLS_DHE_RSA_WITH_AES_128_CCM.

    Returns:

      str or None

  property algorithms: SortedSet[BomRef]

    A list BomRefs to algorithms related to the cipher suite.

    Returns:

      Iterable[BomRef] or None

  property identifiers: SortedSet[str]

    A list of common identifiers for the cipher suite. Examples include 0xC0 and 0x9E.

    Returns:

      Iterable[str] or None

class cyclonedx.model.crypto.Ikev2TransformTypes(*, encr: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None, prf: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None, integ: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None, ke: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None, esn: bool | None = None, auth: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None)

  This is our internal representation of the cryptoPropertiesType.protocolProperties.ikev2TransformTypes complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property encr: SortedSet[BomRef]

    Transform Type 1: encryption algorithms.

    Returns:

      Iterable[BomRef] or None

  property prf: SortedSet[BomRef]

    Transform Type 2: pseudorandom functions.

    Returns:

      Iterable[BomRef] or None

  property integ: SortedSet[BomRef]

    Transform Type 3: integrity algorithms.

    Returns:

      Iterable[BomRef] or None

  property ke: SortedSet[BomRef]

    Transform Type 4: Key Exchange Method (KE) per RFC9370, formerly called Diffie-Hellman Group (D-H).

    Returns:

      Iterable[BomRef] or None

  property esn: bool | None

    Specifies if an Extended Sequence Number (ESN) is used.

    Returns:

      bool or None

  property auth: SortedSet[BomRef]

    IKEv2 Authentication method.

    Returns:

      Iterable[BomRef] or None

class cyclonedx.model.crypto.ProtocolProperties(*, type: ProtocolPropertiesType | None = None, version: str | None = None, cipher_suites: collections.abc.Iterable[ProtocolPropertiesCipherSuite] | None = None, ikev2_transform_types: Ikev2TransformTypes | None = None, crypto_refs: collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef] | None = None)

  This is our internal representation of the cryptoPropertiesType.protocolProperties complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property type: ProtocolPropertiesType | None

    The concrete protocol type.

    Returns:

      ProtocolPropertiesType or None

  property version: str | None

    The version of the protocol. Examples include 1.0, 1.2, and 1.99.

    Returns:

      str or None

  property cipher_suites: SortedSet[ProtocolPropertiesCipherSuite]

    A list of cipher suites related to the protocol.

    Returns:

      Iterable[ProtocolPropertiesCipherSuite]

  property ikev2_transform_types: Ikev2TransformTypes | None

    The IKEv2 transform types supported (types 1-4), defined in RFC7296 section 3.3.2, and additional properties.

    Returns:

      Ikev2TransformTypes or None

  property crypto_refs: SortedSet[BomRef]

    A list of protocol-related cryptographic assets.

    Returns:

      Iterable[BomRef]

class cyclonedx.model.crypto.CryptoProperties(*, asset_type: CryptoAssetType | None = None, algorithm_properties: AlgorithmProperties | None = None, certificate_properties: CertificateProperties | None = None, related_crypto_material_properties: RelatedCryptoMaterialProperties | None = None, protocol_properties: ProtocolProperties | None = None, oid: str | None = None)

  This is our internal representation of the cryptoPropertiesType complex type within CycloneDX standard.

  Note

  Introduced in CycloneDX v1.6

  Note

  See the CycloneDX Schema for hashType: https://cyclonedx.org/docs/1.7/xml/#type_cryptoPropertiesType

  property asset_type: CryptoAssetType | None

    Cryptographic assets occur in several forms. Algorithms and protocols are most commonly implemented in specialized cryptographic libraries. They may however also be ‘hardcoded’ in software components. Certificates and related cryptographic material like keys, tokens, secrets or passwords are other cryptographic assets to be modelled.

    Returns:

      CryptoAssetType

  property algorithm_properties: AlgorithmProperties | None

    Additional properties specific to a cryptographic algorithm.

    Returns:

      AlgorithmProperties or None

  property certificate_properties: CertificateProperties | None

    Properties for cryptographic assets of asset type ‘certificate’.

    Returns:

      CertificateProperties or None

  property related_crypto_material_properties: RelatedCryptoMaterialProperties | None

    Properties for cryptographic assets of asset type ‘relatedCryptoMaterial’.

    Returns:

      RelatedCryptoMaterialProperties or None

  property protocol_properties: ProtocolProperties | None

    Properties specific to cryptographic assets of type: ‘protocol’.

    Returns:

      ProtocolProperties or None

  property oid: str | None

    The object identifier (OID) of the cryptographic asset.

    Returns:

      str or None