cyclonedx.model.crypto ====================== .. py:module:: cyclonedx.model.crypto .. autoapi-nested-parse:: 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 ------- .. autoapisummary:: cyclonedx.model.crypto.CryptoAssetType cyclonedx.model.crypto.CryptoPrimitive cyclonedx.model.crypto.CryptoExecutionEnvironment cyclonedx.model.crypto.CryptoImplementationPlatform cyclonedx.model.crypto.CryptoCertificationLevel cyclonedx.model.crypto.CryptoMode cyclonedx.model.crypto.CryptoPadding cyclonedx.model.crypto.CryptoFunction cyclonedx.model.crypto.AlgorithmProperties cyclonedx.model.crypto.CertificateProperties cyclonedx.model.crypto.RelatedCryptoMaterialType cyclonedx.model.crypto.RelatedCryptoMaterialState cyclonedx.model.crypto.RelatedCryptoMaterialSecuredBy cyclonedx.model.crypto.RelatedCryptoMaterialProperties cyclonedx.model.crypto.ProtocolPropertiesType cyclonedx.model.crypto.ProtocolPropertiesCipherSuite cyclonedx.model.crypto.Ikev2TransformTypes cyclonedx.model.crypto.ProtocolProperties cyclonedx.model.crypto.CryptoProperties Module Contents --------------- .. py:class:: CryptoAssetType Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: ALGORITHM :value: 'algorithm' .. py:attribute:: CERTIFICATE :value: 'certificate' .. py:attribute:: PROTOCOL :value: 'protocol' .. py:attribute:: RELATED_CRYPTO_MATERIAL :value: 'related-crypto-material' .. py:class:: CryptoPrimitive Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: AE :value: 'ae' .. py:attribute:: BLOCK_CIPHER :value: 'block-cipher' .. py:attribute:: COMBINER :value: 'combiner' .. py:attribute:: DRBG :value: 'drbg' .. py:attribute:: HASH :value: 'hash' .. py:attribute:: KDF :value: 'kdf' .. py:attribute:: KEM :value: 'kem' .. py:attribute:: KEY_AGREE :value: 'key-agree' .. py:attribute:: MAC :value: 'mac' .. py:attribute:: PKE :value: 'pke' .. py:attribute:: SIGNATURE :value: 'signature' .. py:attribute:: STREAM_CIPHER :value: 'stream-cipher' .. py:attribute:: XOF :value: 'xof' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoExecutionEnvironment Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: HARDWARE :value: 'hardware' .. py:attribute:: SOFTWARE_ENCRYPTED_RAM :value: 'software-encrypted-ram' .. py:attribute:: SOFTWARE_PLAIN_RAM :value: 'software-plain-ram' .. py:attribute:: SOFTWARE_TEE :value: 'software-tee' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoImplementationPlatform Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: ARMV7_A :value: 'armv7-a' .. py:attribute:: ARMV7_M :value: 'armv7-m' .. py:attribute:: ARMV8_A :value: 'armv8-a' .. py:attribute:: ARMV8_M :value: 'armv8-m' .. py:attribute:: ARMV9_A :value: 'armv9-a' .. py:attribute:: ARMV9_M :value: 'armv9-m' .. py:attribute:: GENERIC :value: 'generic' .. py:attribute:: PPC64 :value: 'ppc64' .. py:attribute:: PPC64LE :value: 'ppc64le' .. py:attribute:: S390X :value: 's390x' .. py:attribute:: X86_32 :value: 'x86_32' .. py:attribute:: X86_64 :value: 'x86_64' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoCertificationLevel Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: NONE :value: 'none' .. py:attribute:: FIPS140_1_L1 :value: 'fips140-1-l1' .. py:attribute:: FIPS140_1_L2 :value: 'fips140-1-l2' .. py:attribute:: FIPS140_1_L3 :value: 'fips140-1-l3' .. py:attribute:: FIPS140_1_L4 :value: 'fips140-1-l4' .. py:attribute:: FIPS140_2_L1 :value: 'fips140-2-l1' .. py:attribute:: FIPS140_2_L2 :value: 'fips140-2-l2' .. py:attribute:: FIPS140_2_L3 :value: 'fips140-2-l3' .. py:attribute:: FIPS140_2_L4 :value: 'fips140-2-l4' .. py:attribute:: FIPS140_3_L1 :value: 'fips140-3-l1' .. py:attribute:: FIPS140_3_L2 :value: 'fips140-3-l2' .. py:attribute:: FIPS140_3_L3 :value: 'fips140-3-l3' .. py:attribute:: FIPS140_3_L4 :value: 'fips140-3-l4' .. py:attribute:: CC_EAL1 :value: 'cc-eal1' .. py:attribute:: CC_EAL1_PLUS :value: 'cc-eal1+' .. py:attribute:: CC_EAL2 :value: 'cc-eal2' .. py:attribute:: CC_EAL2_PLUS :value: 'cc-eal2+' .. py:attribute:: CC_EAL3 :value: 'cc-eal3' .. py:attribute:: CC_EAL3_PLUS :value: 'cc-eal3+' .. py:attribute:: CC_EAL4 :value: 'cc-eal4' .. py:attribute:: CC_EAL4_PLUS :value: 'cc-eal4+' .. py:attribute:: CC_EAL5 :value: 'cc-eal5' .. py:attribute:: CC_EAL5_PLUS :value: 'cc-eal5+' .. py:attribute:: CC_EAL6 :value: 'cc-eal6' .. py:attribute:: CC_EAL6_PLUS :value: 'cc-eal6+' .. py:attribute:: CC_EAL7 :value: 'cc-eal7' .. py:attribute:: CC_EAL7_PLUS :value: 'cc-eal7+' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoMode Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: CBC :value: 'cbc' .. py:attribute:: CCM :value: 'ccm' .. py:attribute:: CFB :value: 'cfb' .. py:attribute:: CTR :value: 'ctr' .. py:attribute:: ECB :value: 'ecb' .. py:attribute:: GCM :value: 'gcm' .. py:attribute:: OFB :value: 'ofb' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoPadding Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: PKCS5 :value: 'pkcs5' .. py:attribute:: PKCS7 :value: 'pkcs7' .. py:attribute:: PKCS1V15 :value: 'pkcs1v15' .. py:attribute:: OAEP :value: 'oaep' .. py:attribute:: RAW :value: 'raw' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: CryptoFunction Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: DECAPSULATE :value: 'decapsulate' .. py:attribute:: DECRYPT :value: 'decrypt' .. py:attribute:: DIGEST :value: 'digest' .. py:attribute:: ENCAPSULATE :value: 'encapsulate' .. py:attribute:: ENCRYPT :value: 'encrypt' .. py:attribute:: GENERATE :value: 'generate' .. py:attribute:: KEYDERIVE :value: 'keyderive' .. py:attribute:: KEYGEN :value: 'keygen' .. py:attribute:: SIGN :value: 'sign' .. py:attribute:: TAG :value: 'tag' .. py:attribute:: VERIFY :value: 'verify' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: AlgorithmProperties(*, primitive: Optional[CryptoPrimitive] = None, parameter_set_identifier: Optional[str] = None, curve: Optional[str] = None, execution_environment: Optional[CryptoExecutionEnvironment] = None, implementation_platform: Optional[CryptoImplementationPlatform] = None, certification_levels: Optional[collections.abc.Iterable[CryptoCertificationLevel]] = None, mode: Optional[CryptoMode] = None, padding: Optional[CryptoPadding] = None, crypto_functions: Optional[collections.abc.Iterable[CryptoFunction]] = None, classical_security_level: Optional[int] = None, nist_quantum_security_level: Optional[int] = 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 .. py:property:: primitive :type: Optional[CryptoPrimitive] 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` .. py:property:: parameter_set_identifier :type: Optional[str] 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` .. py:property:: curve :type: Optional[str] 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` .. py:property:: execution_environment :type: Optional[CryptoExecutionEnvironment] The target and execution environment in which the algorithm is implemented in. Returns: `CryptoExecutionEnvironment` or `None` .. py:property:: implementation_platform :type: Optional[CryptoImplementationPlatform] 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` .. py:property:: certification_levels :type: 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]` .. py:property:: mode :type: Optional[CryptoMode] The mode of operation in which the cryptographic algorithm (block cipher) is used. Returns: `CryptoMode` or `None` .. py:property:: padding :type: Optional[CryptoPadding] The padding scheme that is used for the cryptographic algorithm. Returns: `CryptoPadding` or `None` .. py:property:: crypto_functions :type: SortedSet[CryptoFunction] The cryptographic functions implemented by the cryptographic algorithm. Returns: `Iterable[CryptoFunction]` .. py:property:: classical_security_level :type: Optional[int] The classical security level that a cryptographic algorithm provides (in bits). Returns: `int` or `None` .. py:property:: nist_quantum_security_level :type: Optional[int] 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` .. py:class:: CertificateProperties(*, subject_name: Optional[str] = None, issuer_name: Optional[str] = None, not_valid_before: Optional[datetime.datetime] = None, not_valid_after: Optional[datetime.datetime] = None, signature_algorithm_ref: Optional[cyclonedx.model.bom_ref.BomRef] = None, subject_public_key_ref: Optional[cyclonedx.model.bom_ref.BomRef] = None, certificate_format: Optional[str] = None, certificate_extension: Optional[str] = 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 .. py:property:: subject_name :type: Optional[str] The subject name for the certificate. Returns: `str` or `None` .. py:property:: issuer_name :type: Optional[str] The issuer name for the certificate. Returns: `str` or `None` .. py:property:: not_valid_before :type: Optional[datetime.datetime] The date and time according to ISO-8601 standard from which the certificate is valid. Returns: `datetime` or `None` .. py:property:: not_valid_after :type: Optional[datetime.datetime] The date and time according to ISO-8601 standard from which the certificate is not valid anymore. Returns: `datetime` or `None` .. py:property:: signature_algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] The bom-ref to signature algorithm used by the certificate. Returns: `BomRef` or `None` .. py:property:: subject_public_key_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] The bom-ref to the public key of the subject. Returns: `BomRef` or `None` .. py:property:: certificate_format :type: Optional[str] The format of the certificate. Examples include X.509, PEM, DER, and CVC. Returns: `str` or `None` .. py:property:: certificate_extension :type: Optional[str] The file extension of the certificate. Examples include crt, pem, cer, der, and p12. Returns: `str` or `None` .. py:class:: RelatedCryptoMaterialType Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: ADDITIONAL_DATA :value: 'additional-data' .. py:attribute:: CIPHERTEXT :value: 'ciphertext' .. py:attribute:: CREDENTIAL :value: 'credential' .. py:attribute:: DIGEST :value: 'digest' .. py:attribute:: INITIALIZATION_VECTOR :value: 'initialization-vector' .. py:attribute:: KEY :value: 'key' .. py:attribute:: NONCE :value: 'nonce' .. py:attribute:: PASSWORD :value: 'password' .. py:attribute:: PRIVATE_KEY :value: 'private-key' .. py:attribute:: PUBLIC_KEY :value: 'public-key' .. py:attribute:: SALT :value: 'salt' .. py:attribute:: SECRET_KEY :value: 'secret-key' .. py:attribute:: SEED :value: 'seed' .. py:attribute:: SHARED_SECRET :value: 'shared-secret' .. py:attribute:: SIGNATURE :value: 'signature' .. py:attribute:: TAG :value: 'tag' .. py:attribute:: TOKEN :value: 'token' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: RelatedCryptoMaterialState Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: ACTIVE :value: 'active' .. py:attribute:: COMPROMISED :value: 'compromised' .. py:attribute:: DEACTIVATED :value: 'deactivated' .. py:attribute:: DESTROYED :value: 'destroyed' .. py:attribute:: PRE_ACTIVATION :value: 'pre-activation' .. py:attribute:: SUSPENDED :value: 'suspended' .. py:class:: RelatedCryptoMaterialSecuredBy(*, mechanism: Optional[str] = None, algorithm_ref: Optional[cyclonedx.model.bom_ref.BomRef] = 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 .. py:property:: mechanism :type: Optional[str] Specifies the mechanism by which the cryptographic asset is secured by. Examples include HSM, TPM, XGX, Software, and None. Returns: `str` or `None` .. py:property:: algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] The bom-ref to the algorithm. Returns: `BomRef` or `None` .. py:class:: RelatedCryptoMaterialProperties(*, type: Optional[RelatedCryptoMaterialType] = None, id: Optional[str] = None, state: Optional[RelatedCryptoMaterialState] = None, algorithm_ref: Optional[cyclonedx.model.bom_ref.BomRef] = None, creation_date: Optional[datetime.datetime] = None, activation_date: Optional[datetime.datetime] = None, update_date: Optional[datetime.datetime] = None, expiration_date: Optional[datetime.datetime] = None, value: Optional[str] = None, size: Optional[int] = None, format: Optional[str] = None, secured_by: Optional[RelatedCryptoMaterialSecuredBy] = 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 .. py:property:: type :type: Optional[RelatedCryptoMaterialType] The type for the related cryptographic material. Returns .. py:property:: id :type: Optional[str] The optional unique identifier for the related cryptographic material. :return: .. py:property:: state :type: Optional[RelatedCryptoMaterialState] The key state as defined by NIST SP 800-57. Returns: `RelatedCryptoMaterialState` or `None` .. py:property:: algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] The bom-ref to the algorithm used to generate the related cryptographic material. Returns: `BomRef` or `None` .. py:property:: creation_date :type: Optional[datetime.datetime] The date and time (timestamp) when the related cryptographic material was created. Returns: `datetime` or `None` .. py:property:: activation_date :type: Optional[datetime.datetime] The date and time (timestamp) when the related cryptographic material was activated. Returns: `datetime` or `None` .. py:property:: update_date :type: Optional[datetime.datetime] The date and time (timestamp) when the related cryptographic material was updated. Returns: `datetime` or `None` .. py:property:: expiration_date :type: Optional[datetime.datetime] The date and time (timestamp) when the related cryptographic material expires. Returns: `datetime` or `None` .. py:property:: value :type: Optional[str] The associated value of the cryptographic material. Returns: `str` or `None` .. py:property:: size :type: Optional[int] The size of the cryptographic asset (in bits). Returns: `int` or `None` .. py:property:: format :type: Optional[str] The format of the related cryptographic material (e.g. P8, PEM, DER). Returns: `str` or `None` .. py:property:: secured_by :type: Optional[RelatedCryptoMaterialSecuredBy] The mechanism by which the cryptographic asset is secured by. Returns: `RelatedCryptoMaterialSecuredBy` or `None` .. py:class:: ProtocolPropertiesType Bases: :py:obj:`str`, :py:obj:`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 .. py:attribute:: IKE :value: 'ike' .. py:attribute:: IPSEC :value: 'ipsec' .. py:attribute:: SSH :value: 'ssh' .. py:attribute:: SSTP :value: 'sstp' .. py:attribute:: TLS :value: 'tls' .. py:attribute:: WPA :value: 'wpa' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: ProtocolPropertiesCipherSuite(*, name: Optional[str] = None, algorithms: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = None, identifiers: Optional[collections.abc.Iterable[str]] = 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 .. py:property:: name :type: Optional[str] A common name for the cipher suite. For example: TLS_DHE_RSA_WITH_AES_128_CCM. Returns: `str` or `None` .. py:property:: algorithms :type: SortedSet[BomRef] A list BomRefs to algorithms related to the cipher suite. Returns: `Iterable[BomRef]` or `None` .. py:property:: identifiers :type: SortedSet[str] A list of common identifiers for the cipher suite. Examples include 0xC0 and 0x9E. Returns: `Iterable[str]` or `None` .. py:class:: Ikev2TransformTypes(*, encr: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = None, prf: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = None, integ: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = None, ke: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = None, esn: Optional[bool] = None, auth: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = 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 .. py:property:: encr :type: SortedSet[BomRef] Transform Type 1: encryption algorithms. Returns: `Iterable[BomRef]` or `None` .. py:property:: prf :type: SortedSet[BomRef] Transform Type 2: pseudorandom functions. Returns: `Iterable[BomRef]` or `None` .. py:property:: integ :type: SortedSet[BomRef] Transform Type 3: integrity algorithms. Returns: `Iterable[BomRef]` or `None` .. py:property:: ke :type: SortedSet[BomRef] Transform Type 4: Key Exchange Method (KE) per RFC9370, formerly called Diffie-Hellman Group (D-H). Returns: `Iterable[BomRef]` or `None` .. py:property:: esn :type: Optional[bool] Specifies if an Extended Sequence Number (ESN) is used. Returns: `bool` or `None` .. py:property:: auth :type: SortedSet[BomRef] IKEv2 Authentication method. Returns: `Iterable[BomRef]` or `None` .. py:class:: ProtocolProperties(*, type: Optional[ProtocolPropertiesType] = None, version: Optional[str] = None, cipher_suites: Optional[collections.abc.Iterable[ProtocolPropertiesCipherSuite]] = None, ikev2_transform_types: Optional[Ikev2TransformTypes] = None, crypto_refs: Optional[collections.abc.Iterable[cyclonedx.model.bom_ref.BomRef]] = 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 .. py:property:: type :type: Optional[ProtocolPropertiesType] The concrete protocol type. Returns: `ProtocolPropertiesType` or `None` .. py:property:: version :type: Optional[str] The version of the protocol. Examples include 1.0, 1.2, and 1.99. Returns: `str` or `None` .. py:property:: cipher_suites :type: SortedSet[ProtocolPropertiesCipherSuite] A list of cipher suites related to the protocol. Returns: `Iterable[ProtocolPropertiesCipherSuite]` .. py:property:: ikev2_transform_types :type: Optional[Ikev2TransformTypes] The IKEv2 transform types supported (types 1-4), defined in RFC7296 section 3.3.2, and additional properties. Returns: `Ikev2TransformTypes` or `None` .. py:property:: crypto_refs :type: SortedSet[BomRef] A list of protocol-related cryptographic assets. Returns: `Iterable[BomRef]` .. py:class:: CryptoProperties(*, asset_type: Optional[CryptoAssetType] = None, algorithm_properties: Optional[AlgorithmProperties] = None, certificate_properties: Optional[CertificateProperties] = None, related_crypto_material_properties: Optional[RelatedCryptoMaterialProperties] = None, protocol_properties: Optional[ProtocolProperties] = None, oid: Optional[str] = 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 .. py:property:: asset_type :type: Optional[CryptoAssetType] 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` .. py:property:: algorithm_properties :type: Optional[AlgorithmProperties] Additional properties specific to a cryptographic algorithm. Returns: `AlgorithmProperties` or `None` .. py:property:: certificate_properties :type: Optional[CertificateProperties] Properties for cryptographic assets of asset type 'certificate'. Returns: `CertificateProperties` or `None` .. py:property:: related_crypto_material_properties :type: Optional[RelatedCryptoMaterialProperties] Properties for cryptographic assets of asset type 'relatedCryptoMaterial'. Returns: `RelatedCryptoMaterialProperties` or `None` .. py:property:: protocol_properties :type: Optional[ProtocolProperties] Properties specific to cryptographic assets of type: 'protocol'. Returns: `ProtocolProperties` or `None` .. py:property:: oid :type: Optional[str] The object identifier (OID) of the cryptographic asset. Returns: `str` or `None`