-- ASN module extracted from ITU-T X.894 (10/2018)

-- 16 Module CMSDBKeyManagement CMSDBKeyManagement {itu-t recommendation(0) x(24) cms-profile(894) module(0) dBKeyManagement(2) version1(1)} "/ITU-T/Recommendation/X/CMS-Profile/Module/DBKeyManagement/Version1" DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS ALGORITHM,AlgorithmIdentifier{} FROM AlgorithmInformation-2009 {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-algorithmInformation-02(58)} ATTRIBUTE FROM PKIX-CommonTypes-2009 {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57)} Attribute{},MessageAuthenticationCodeAlgorithm FROM CryptographicMessageSyntax-2010 { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } id-dbekm-recip-info,id-SimpleString,id-UniqueIdentifier FROM CMSObjectIdentifiers {iso(1) identified-organization(3) tc68(133) country(16) x9(840) x9Standards(9) x9-73(73) module(0) oids(1) v2009(1)}; -- X9.73 XML namespace: urn:oid:1.3.133.16.840.9.73 -- KEY-MANAGEMENT ::= TYPE-IDENTIFIER DB-Encryption-Key-Management KEY-MANAGEMENT ::= { dbekmRecipientInfo, ... -- Expect additional key management objects -- } dbekmRecipientInfo KEY-MANAGEMENT ::= { DBEKMRecipientInfo IDENTIFIED BY id-dbekm-recip-info } DBEKMRecipientInfo ::= CHOICE { keyManager MasterKeyEncryptedHMACkey, server DatabaseServerToKeyManager } MasterKeyEncryptedHMACkey ::= SEQUENCE { masterKeyAID MasterKeyAlgorithmIdentifier OPTIONAL, hmacKeyAID MessageAuthenticationCodeAlgorithm OPTIONAL, encryptedKey OCTET STRING(SIZE(1..MAX)) } MasterKeyAlgorithmIdentifier ::= AlgorithmIdentifier {ALGORITHM,{MasterKeyAlgorithms}} MasterKeyAlgorithms ALGORITHM ::= { ... -- Expect additional algorithm objects -- } DatabaseServerToKeyManager ::= SEQUENCE { encryptedKey MasterKeyEncryptedHMACkey, uniqueID UniqueIdentifier OPTIONAL -- May be known system wide -- } UniqueIdentifier ::= UniqueID{{SchemaIdentifier}} SchemaIdentifier DBEKM ::= { simpleString, ... -- Expect additional schema identifier objects -- } simpleString DBEKM ::= { OID id-SimpleString PARMS SimpleString } SimpleString ::= UTF8String(SIZE(1..MAX)) DBEKM ::= CLASS { &id OBJECT IDENTIFIER UNIQUE, &Type OPTIONAL } WITH SYNTAX {OID &id [PARMS &Type]} UniqueID{DBEKM:IOSet} ::= SEQUENCE { name DBEKM.&id({IOSet}), type DBEKM.&Type({IOSet}{@name}) OPTIONAL } DbEKMAttributeSet ::= SEQUENCE(SIZE(1..MAX)) OF Attribute{{DbEKMAttributes}} DbEKMAttributes ATTRIBUTE ::= { uniqueIdentifier, ... -- Expect user schema identifier attributes -- } uniqueIdentifier ATTRIBUTE ::= { TYPE UniqueIdentifier IDENTIFIED BY id-UniqueIdentifier } END