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 .. 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. .. note:: Introduced in CycloneDX v1.6 .. 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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: SOFTWARE_PLAIN_RAM :value: 'software-plain-ram' .. py:attribute:: SOFTWARE_ENCRYPTED_RAM :value: 'software-encrypted-ram' .. py:attribute:: SOFTWARE_TEE :value: 'software-tee' .. py:attribute:: HARDWARE :value: 'hardware' .. 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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: GENERIC :value: 'generic' .. py:attribute:: X86_32 :value: 'x86_32' .. py:attribute:: X86_64 :value: 'x86_64' .. py:attribute:: ARM_V7_A :value: 'armv7-a' .. py:attribute:: ARM_V7_M :value: 'armv7-m' .. py:attribute:: ARM_V8_A :value: 'armv8-a' .. py:attribute:: ARM_V8_M :value: 'armv8-m' .. py:attribute:: ARM_V9_A :value: 'armv9-a' .. py:attribute:: ARM_V9_M :value: 'armv9-m' .. py:attribute:: S390X :value: 's390x' .. py:attribute:: PPC64 :value: 'ppc64' .. py:attribute:: PPC64LE :value: 'ppc64le' .. 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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: NONE :value: 'none' .. py:attribute:: FIPS_140_1_L1 :value: 'fips140-1-l1' .. py:attribute:: FIPS_140_1_L2 :value: 'fips140-1-l2' .. py:attribute:: FIPS_140_1_L3 :value: 'fips140-1-l3' .. py:attribute:: FIPS_140_1_L4 :value: 'fips140-1-l4' .. py:attribute:: FIPS_140_2_L1 :value: 'fips140-2-l1' .. py:attribute:: FIPS_140_2_L2 :value: 'fips140-2-l2' .. py:attribute:: FIPS_140_2_L3 :value: 'fips140-2-l3' .. py:attribute:: FIPS_140_2_L4 :value: 'fips140-2-l4' .. py:attribute:: FIPS_140_3_L1 :value: 'fips140-3-l1' .. py:attribute:: FIPS_140_3_L2 :value: 'fips140-3-l2' .. py:attribute:: FIPS_140_3_L3 :value: 'fips140-3-l3' .. py:attribute:: FIPS_140_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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: CBC :value: 'cbc' .. py:attribute:: ECB :value: 'ecb' .. py:attribute:: CCM :value: 'ccm' .. py:attribute:: GCM :value: 'gcm' .. py:attribute:: CFB :value: 'cfb' .. py:attribute:: OFB :value: 'ofb' .. py:attribute:: CTR :value: 'ctr' .. 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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: PKCS5 :value: 'pkcs5' .. py:attribute:: PKCS7 :value: 'pkcs7' .. py:attribute:: PKCS1_V15 :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 ENUM. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: GENERATE :value: 'generate' .. py:attribute:: KEYGEN :value: 'keygen' .. py:attribute:: ENCRYPT :value: 'encrypt' .. py:attribute:: DECRYPT :value: 'decrypt' .. py:attribute:: DIGEST :value: 'digest' .. py:attribute:: TAG :value: 'tag' .. py:attribute:: KEYDERIVE :value: 'keyderive' .. py:attribute:: SIGN :value: 'sign' .. py:attribute:: VERIFY :value: 'verify' .. py:attribute:: ENCAPSULATE :value: 'encapsulate' .. py:attribute:: DECAPSULATE :value: 'decapsulate' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: AlgorithmProperties This is our internal representation of the cryptoPropertiesType.algorithmProperties complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: primitive :type: Optional[CryptoPrimitive] .. py:attribute:: parameter_set_identifier :type: Optional[str] .. py:attribute:: curve :type: Optional[str] .. py:attribute:: execution_environment :type: Optional[CryptoExecutionEnvironment] .. py:attribute:: implementation_platform :type: Optional[CryptoImplementationPlatform] .. py:attribute:: mode :type: Optional[CryptoMode] .. py:attribute:: padding :type: Optional[CryptoPadding] .. py:attribute:: classical_security_level :type: Optional[int] .. py:property:: certification_levels :type: SortedSet[CryptoCertificationLevel] .. py:property:: crypto_functions :type: SortedSet[CryptoFunction] .. py:property:: nist_quantum_security_level :type: Optional[int] .. py:class:: CertificateProperties This is our internal representation of the cryptoPropertiesType.certificateProperties complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: subject_name :type: Optional[str] .. py:attribute:: issuer_name :type: Optional[str] .. py:attribute:: not_valid_before :type: Optional[datetime.datetime] .. py:attribute:: not_valid_after :type: Optional[datetime.datetime] .. py:attribute:: signature_algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] .. py:attribute:: subject_public_key_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] .. py:attribute:: certificate_format :type: Optional[str] .. py:attribute:: certificate_extension :type: Optional[str] .. py:class:: RelatedCryptoMaterialType Bases: :py:obj:`str`, :py:obj:`enum.Enum` This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.type ENUM. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: PRIVATE_KEY :value: 'private-key' .. py:attribute:: PUBLIC_KEY :value: 'public-key' .. py:attribute:: SECRET_KEY :value: 'secret-key' .. py:attribute:: KEY :value: 'key' .. py:attribute:: CIPHERTEXT :value: 'ciphertext' .. py:attribute:: SIGNATURE :value: 'signature' .. py:attribute:: DIGEST :value: 'digest' .. py:attribute:: INITIALIZATION_VECTOR :value: 'initialization-vector' .. py:attribute:: NONCE :value: 'nonce' .. py:attribute:: SEED :value: 'seed' .. py:attribute:: SALT :value: 'salt' .. py:attribute:: SHARED_SECRET :value: 'shared-secret' .. py:attribute:: TAG :value: 'tag' .. py:attribute:: ADDITIONAL_DATA :value: 'additional-data' .. py:attribute:: PASSWORD :value: 'password' .. py:attribute:: CREDENTIAL :value: 'credential' .. 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. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: PRE_ACTIVATION :value: 'pre-activation' .. py:attribute:: ACTIVE :value: 'active' .. py:attribute:: SUSPENDED :value: 'suspended' .. py:attribute:: DEACTIVATED :value: 'deactivated' .. py:attribute:: COMPROMISED :value: 'compromised' .. py:attribute:: DESTROYED :value: 'destroyed' .. py:class:: RelatedCryptoMaterialSecuredBy This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.securedBy type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: mechanism :type: Optional[str] .. py:attribute:: algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] .. py:class:: RelatedCryptoMaterialProperties This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: type :type: Optional[RelatedCryptoMaterialType] .. py:attribute:: id :type: Optional[str] .. py:attribute:: state :type: Optional[RelatedCryptoMaterialState] .. py:attribute:: algorithm_ref :type: Optional[cyclonedx.model.bom_ref.BomRef] .. py:attribute:: creation_date :type: Optional[datetime.datetime] .. py:attribute:: activation_date :type: Optional[datetime.datetime] .. py:attribute:: update_date :type: Optional[datetime.datetime] .. py:attribute:: expiration_date :type: Optional[datetime.datetime] .. py:attribute:: value :type: Optional[str] .. py:attribute:: format :type: Optional[str] .. py:attribute:: secured_by :type: Optional[RelatedCryptoMaterialSecuredBy] .. py:property:: size :type: Optional[int] .. py:class:: ProtocolPropertiesType Bases: :py:obj:`str`, :py:obj:`enum.Enum` This is our internal representation of the cryptoPropertiesType.protocolProperties.type ENUM type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: TLS :value: 'tls' .. py:attribute:: SSH :value: 'ssh' .. py:attribute:: IPSEC :value: 'ipsec' .. py:attribute:: IKE :value: 'ike' .. py:attribute:: SSTP :value: 'sstp' .. py:attribute:: WPA :value: 'wpa' .. py:attribute:: OTHER :value: 'other' .. py:attribute:: UNKNOWN :value: 'unknown' .. py:class:: ProtocolPropertiesCipherSuite This is our internal representation of the cryptoPropertiesType.protocolProperties.cipherSuites complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: name :type: Optional[str] .. py:property:: algorithms :type: SortedSet[BomRef] .. py:property:: identifiers :type: SortedSet[str] .. py:class:: Ikev2TransformTypes This is our internal representation of the cryptoPropertiesType.protocolProperties.ikev2TransformTypes. .. note:: Introduced in CycloneDX v1.6 .. py:property:: encr :type: SortedSet[BomRef] .. py:property:: prf :type: SortedSet[BomRef] .. py:property:: integ :type: SortedSet[BomRef] .. py:property:: ke :type: SortedSet[BomRef] .. py:property:: esn :type: bool .. py:property:: auth :type: SortedSet[BomRef] .. py:class:: ProtocolProperties This is our internal representation of the cryptoPropertiesType.protocolProperties complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: type :type: Optional[ProtocolPropertiesType] .. py:attribute:: version :type: Optional[str] .. py:attribute:: ikev2_transform_types :type: Optional[Ikev2TransformTypes] .. py:property:: cipher_suites :type: SortedSet[ProtocolPropertiesCipherSuite] .. py:property:: crypto_refs :type: SortedSet[BomRef] .. py:class:: CryptoProperties This is our internal representation of the cryptoPropertiesType complex type. .. note:: Introduced in CycloneDX v1.6 .. py:attribute:: asset_type :type: Optional[CryptoAssetType] .. py:attribute:: algorithm_properties :type: Optional[AlgorithmProperties] .. py:attribute:: certificate_properties :type: Optional[CertificateProperties] .. py:attribute:: related_crypto_material_properties :type: Optional[RelatedCryptoMaterialProperties] .. py:attribute:: protocol_properties :type: Optional[ProtocolProperties] .. py:attribute:: oid :type: Optional[str]