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.

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.

CryptoCertificationLevel

This is our internal representation of the cryptoPropertiesType.algorithmProperties.certificationLevel ENUM.

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 ENUM.

AlgorithmProperties

This is our internal representation of the cryptoPropertiesType.algorithmProperties complex type.

CertificateProperties

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

RelatedCryptoMaterialType

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

RelatedCryptoMaterialState

This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.state ENUM.

RelatedCryptoMaterialSecuredBy

This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.securedBy type.

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 complex type.

Ikev2TransformTypes

This is our internal representation of the cryptoPropertiesType.protocolProperties.ikev2TransformTypes.

ProtocolProperties

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

CryptoProperties

This is our internal representation of the cryptoPropertiesType complex type.

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

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.

Note

Introduced in CycloneDX v1.6

AE = 'ae'
BLOCK_CIPHER = 'block-cipher'
COMBINER = 'combiner'
DRBG = 'drbg'
HASH = 'hash'
KDF = 'kdf'
KEM = 'kem'
KEY_AGREE = 'key-agree'
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.

Note

Introduced in CycloneDX v1.6

SOFTWARE_PLAIN_RAM = 'software-plain-ram'
SOFTWARE_ENCRYPTED_RAM = 'software-encrypted-ram'
SOFTWARE_TEE = 'software-tee'
HARDWARE = 'hardware'
OTHER = 'other'
UNKNOWN = 'unknown'
class cyclonedx.model.crypto.CryptoImplementationPlatform

Bases: str, enum.Enum

This is our internal representation of the cryptoPropertiesType.algorithmProperties.implementationPlatform ENUM.

Note

Introduced in CycloneDX v1.6

GENERIC = 'generic'
X86_32 = 'x86_32'
X86_64 = 'x86_64'
ARM_V7_A = 'armv7-a'
ARM_V7_M = 'armv7-m'
ARM_V8_A = 'armv8-a'
ARM_V8_M = 'armv8-m'
ARM_V9_A = 'armv9-a'
ARM_V9_M = 'armv9-m'
S390X = 's390x'
PPC64 = 'ppc64'
PPC64LE = 'ppc64le'
OTHER = 'other'
UNKNOWN = 'unknown'
class cyclonedx.model.crypto.CryptoCertificationLevel

Bases: str, enum.Enum

This is our internal representation of the cryptoPropertiesType.algorithmProperties.certificationLevel ENUM.

Note

Introduced in CycloneDX v1.6

NONE = 'none'
FIPS_140_1_L1 = 'fips140-1-l1'
FIPS_140_1_L2 = 'fips140-1-l2'
FIPS_140_1_L3 = 'fips140-1-l3'
FIPS_140_1_L4 = 'fips140-1-l4'
FIPS_140_2_L1 = 'fips140-2-l1'
FIPS_140_2_L2 = 'fips140-2-l2'
FIPS_140_2_L3 = 'fips140-2-l3'
FIPS_140_2_L4 = 'fips140-2-l4'
FIPS_140_3_L1 = 'fips140-3-l1'
FIPS_140_3_L2 = 'fips140-3-l2'
FIPS_140_3_L3 = 'fips140-3-l3'
FIPS_140_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.

Note

Introduced in CycloneDX v1.6

CBC = 'cbc'
ECB = 'ecb'
CCM = 'ccm'
GCM = 'gcm'
CFB = 'cfb'
OFB = 'ofb'
CTR = 'ctr'
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.

Note

Introduced in CycloneDX v1.6

PKCS5 = 'pkcs5'
PKCS7 = 'pkcs7'
PKCS1_V15 = '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 ENUM.

Note

Introduced in CycloneDX v1.6

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

This is our internal representation of the cryptoPropertiesType.algorithmProperties complex type.

Note

Introduced in CycloneDX v1.6

primitive: CryptoPrimitive | None
parameter_set_identifier: str | None
curve: str | None
execution_environment: CryptoExecutionEnvironment | None
implementation_platform: CryptoImplementationPlatform | None
mode: CryptoMode | None
padding: CryptoPadding | None
classical_security_level: int | None
property certification_levels: SortedSet[CryptoCertificationLevel]
property crypto_functions: SortedSet[CryptoFunction]
property nist_quantum_security_level: int | None
class cyclonedx.model.crypto.CertificateProperties

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

Note

Introduced in CycloneDX v1.6

subject_name: str | None
issuer_name: str | None
not_valid_before: datetime.datetime | None
not_valid_after: datetime.datetime | None
signature_algorithm_ref: cyclonedx.model.bom_ref.BomRef | None
subject_public_key_ref: cyclonedx.model.bom_ref.BomRef | None
certificate_format: str | None
certificate_extension: str | None
class cyclonedx.model.crypto.RelatedCryptoMaterialType

Bases: str, enum.Enum

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

Note

Introduced in CycloneDX v1.6

PRIVATE_KEY = 'private-key'
PUBLIC_KEY = 'public-key'
SECRET_KEY = 'secret-key'
KEY = 'key'
CIPHERTEXT = 'ciphertext'
SIGNATURE = 'signature'
DIGEST = 'digest'
INITIALIZATION_VECTOR = 'initialization-vector'
NONCE = 'nonce'
SEED = 'seed'
SALT = 'salt'
SHARED_SECRET = 'shared-secret'
TAG = 'tag'
ADDITIONAL_DATA = 'additional-data'
PASSWORD = 'password'
CREDENTIAL = 'credential'
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.

Note

Introduced in CycloneDX v1.6

PRE_ACTIVATION = 'pre-activation'
ACTIVE = 'active'
SUSPENDED = 'suspended'
DEACTIVATED = 'deactivated'
COMPROMISED = 'compromised'
DESTROYED = 'destroyed'
class cyclonedx.model.crypto.RelatedCryptoMaterialSecuredBy

This is our internal representation of the cryptoPropertiesType.relatedCryptoMaterialProperties.securedBy type.

Note

Introduced in CycloneDX v1.6

mechanism: str | None
algorithm_ref: cyclonedx.model.bom_ref.BomRef | None
class cyclonedx.model.crypto.RelatedCryptoMaterialProperties

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

Note

Introduced in CycloneDX v1.6

type: RelatedCryptoMaterialType | None
id: str | None
state: RelatedCryptoMaterialState | None
algorithm_ref: cyclonedx.model.bom_ref.BomRef | None
creation_date: datetime.datetime | None
activation_date: datetime.datetime | None
update_date: datetime.datetime | None
expiration_date: datetime.datetime | None
value: str | None
format: str | None
secured_by: RelatedCryptoMaterialSecuredBy | None
property size: int | None
class cyclonedx.model.crypto.ProtocolPropertiesType

Bases: str, enum.Enum

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

Note

Introduced in CycloneDX v1.6

TLS = 'tls'
SSH = 'ssh'
IPSEC = 'ipsec'
IKE = 'ike'
SSTP = 'sstp'
WPA = 'wpa'
OTHER = 'other'
UNKNOWN = 'unknown'
class cyclonedx.model.crypto.ProtocolPropertiesCipherSuite

This is our internal representation of the cryptoPropertiesType.protocolProperties.cipherSuites complex type.

Note

Introduced in CycloneDX v1.6

name: str | None
property algorithms: SortedSet[BomRef]
property identifiers: SortedSet[str]
class cyclonedx.model.crypto.Ikev2TransformTypes

This is our internal representation of the cryptoPropertiesType.protocolProperties.ikev2TransformTypes.

Note

Introduced in CycloneDX v1.6

property encr: SortedSet[BomRef]
property prf: SortedSet[BomRef]
property integ: SortedSet[BomRef]
property ke: SortedSet[BomRef]
property esn: bool
property auth: SortedSet[BomRef]
class cyclonedx.model.crypto.ProtocolProperties

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

Note

Introduced in CycloneDX v1.6

type: ProtocolPropertiesType | None
version: str | None
ikev2_transform_types: Ikev2TransformTypes | None
property cipher_suites: SortedSet[ProtocolPropertiesCipherSuite]
property crypto_refs: SortedSet[BomRef]
class cyclonedx.model.crypto.CryptoProperties

This is our internal representation of the cryptoPropertiesType complex type.

Note

Introduced in CycloneDX v1.6

asset_type: CryptoAssetType | None
algorithm_properties: AlgorithmProperties | None
certificate_properties: CertificateProperties | None
related_crypto_material_properties: RelatedCryptoMaterialProperties | None
protocol_properties: ProtocolProperties | None
oid: str | None