Add inital version of CRMF asn1 spec, not getting IMPLICIT quite right yet
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17102 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
113
lib/hx509/crmf.asn1
Normal file
113
lib/hx509/crmf.asn1
Normal file
@@ -0,0 +1,113 @@
|
||||
-- $Id$
|
||||
PKCS10 DEFINITIONS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
Time,
|
||||
GeneralName,
|
||||
SubjectPublicKeyInfo,
|
||||
RelativeDistinguishedName,
|
||||
AttributeTypeAndValue,
|
||||
Extension,
|
||||
AlgorithmIdentifier
|
||||
FROM rfc2459
|
||||
heim_any
|
||||
FROM heim;
|
||||
|
||||
CRMFRDNSequence ::= SEQUENCE OF RelativeDistinguishedName
|
||||
|
||||
Controls ::= SEQUENCE -- SIZE(1..MAX) -- OF AttributeTypeAndValue
|
||||
|
||||
-- XXX IMPLICIT brokenness
|
||||
POPOSigningKey ::= SEQUENCE {
|
||||
poposkInput [0] IMPLICIT POPOSigningKeyInput OPTIONAL,
|
||||
algorithmIdentifier AlgorithmIdentifier,
|
||||
signature BIT STRING }
|
||||
|
||||
PKMACValue ::= SEQUENCE {
|
||||
algId AlgorithmIdentifier,
|
||||
value BIT STRING
|
||||
}
|
||||
|
||||
-- XXX IMPLICIT brokenness
|
||||
POPOSigningKeyInput ::= SEQUENCE {
|
||||
authInfo CHOICE {
|
||||
sender [0] IMPLICIT GeneralName,
|
||||
publicKeyMAC PKMACValue
|
||||
},
|
||||
publicKey SubjectPublicKeyInfo
|
||||
} -- from CertTemplate
|
||||
|
||||
|
||||
PBMParameter ::= SEQUENCE {
|
||||
salt OCTET STRING,
|
||||
owf AlgorithmIdentifier,
|
||||
iterationCount INTEGER,
|
||||
mac AlgorithmIdentifier
|
||||
}
|
||||
|
||||
SubsequentMessage ::= INTEGER {
|
||||
encrCert (0),
|
||||
challengeResp (1)
|
||||
}
|
||||
|
||||
-- XXX IMPLICIT brokenness
|
||||
POPOPrivKey ::= CHOICE {
|
||||
thisMessage [0] BIT STRING, -- Deprecated
|
||||
subsequentMessage [1] IMPLICIT SubsequentMessage,
|
||||
dhMAC [2] BIT STRING, -- Deprecated
|
||||
agreeMAC [3] IMPLICIT PKMACValue,
|
||||
encryptedKey [4] heim_any
|
||||
}
|
||||
|
||||
-- XXX IMPLICIT brokenness
|
||||
ProofOfPossession ::= CHOICE {
|
||||
raVerified [0] NULL,
|
||||
signature [1] POPOSigningKey,
|
||||
keyEncipherment [2] POPOPrivKey,
|
||||
keyAgreement [3] POPOPrivKey
|
||||
}
|
||||
|
||||
CertTemplate ::= SEQUENCE {
|
||||
version [0] INTEGER OPTIONAL,
|
||||
serialNumber [1] INTEGER OPTIONAL,
|
||||
signingAlg [2] SEQUENCE {
|
||||
algorithm OBJECT IDENTIFIER,
|
||||
parameters heim_any OPTIONAL
|
||||
} -- AlgorithmIdentifier -- OPTIONAL,
|
||||
issuer [3] IMPLICIT CHOICE {
|
||||
rdnSequence CRMFRDNSequence
|
||||
} -- Name -- OPTIONAL,
|
||||
validity [4] SEQUENCE {
|
||||
notBefore [0] Time OPTIONAL,
|
||||
notAfter [1] Time OPTIONAL
|
||||
} -- OptionalValidity -- OPTIONAL,
|
||||
subject [5] IMPLICIT CHOICE {
|
||||
rdnSequence CRMFRDNSequence
|
||||
} -- Name -- OPTIONAL,
|
||||
publicKey [6] IMPLICIT SEQUENCE {
|
||||
algorithm AlgorithmIdentifier,
|
||||
subjectPublicKey BIT STRING OPTIONAL
|
||||
} -- SubjectPublicKeyInfo -- OPTIONAL,
|
||||
issuerUID [7] IMPLICIT BIT STRING OPTIONAL,
|
||||
subjectUID [8] IMPLICIT BIT STRING OPTIONAL,
|
||||
extensions [9] IMPLICIT SEQUENCE OF Extension OPTIONAL
|
||||
}
|
||||
|
||||
CertRequest ::= SEQUENCE {
|
||||
certReqId INTEGER,
|
||||
certTemplate CertTemplate,
|
||||
controls Controls OPTIONAL
|
||||
}
|
||||
|
||||
CertReqMsg ::= SEQUENCE {
|
||||
certReq CertRequest,
|
||||
popo ProofOfPossession OPTIONAL,
|
||||
regInfo SEQUENCE OF AttributeTypeAndValue OPTIONAL }
|
||||
|
||||
CertReqMessages ::= SEQUENCE OF CertReqMsg
|
||||
|
||||
|
||||
END
|
||||
|
Reference in New Issue
Block a user