![Anders Broman](/assets/img/avatar_default.png)
Here are a number of small patches for asn1 based dissectors: acse: release request/response column information (many X.400/X.500 unbinds are empty) "standardised" PNAME to "ISO 8650-1 OSI Association Control Service" fix for crash when using EXTERNAL dissector rtse: column information when attempting a resume x509if: generation of LDAP-style DNs from RDNSequences new function x509if_get_last_dn() to get the last DN generated. x509af: DSS parameters certificate extension naming subject naming of certificate x509sat: Guide syntax (as SET now supported) PDU exports. cms: verification of message digest attribute (SHA-1 and MD5) ess: enumerated/restrictive/permissive/informative security categories x411: generation of string encoding of X.400 addresses, trace information and message identifiers. s4406: separate types for primary and copy precedence to allow better filtering (e.g. primary precedence = flash) priority-level-qualifier svn path=/trunk/; revision=16508
284 lines
9.2 KiB
Groff
284 lines
9.2 KiB
Groff
-- Module AuthenticationFramework (X.509:08/1997)
|
|
|
|
AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
|
|
authenticationFramework(7) 3} DEFINITIONS ::=
|
|
BEGIN
|
|
|
|
-- EXPORTS All
|
|
-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
|
|
-- within the Directory Specifications, and for the use of other applications which will use them to access
|
|
-- Directory services. Other applications may use them for their own purposes, but this will not constrain
|
|
-- extensions and modifications needed to maintain or improve the Directory service.
|
|
IMPORTS
|
|
id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
|
|
basicAccessControl, certificateExtensions
|
|
FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
|
|
usefulDefinitions(0) 3}
|
|
Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute, RDNSequence
|
|
FROM InformationFramework informationFramework
|
|
ub-user-password
|
|
FROM UpperBounds upperBounds
|
|
AuthenticationLevel
|
|
FROM BasicAccessControl basicAccessControl
|
|
UniqueIdentifier, octetStringMatch
|
|
FROM SelectedAttributeTypes selectedAttributeTypes
|
|
certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
|
|
GeneralNames
|
|
FROM CertificateExtensions certificateExtensions;
|
|
|
|
-- basic certificate definition
|
|
Certificate ::= SEQUENCE {
|
|
signedCertificate SEQUENCE {
|
|
version [0] Version DEFAULT v1,
|
|
serialNumber CertificateSerialNumber,
|
|
signature AlgorithmIdentifier,
|
|
issuer Name,
|
|
validity Validity,
|
|
subject SubjectName,
|
|
subjectPublicKeyInfo SubjectPublicKeyInfo,
|
|
issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
-- if present, version must be v2 or v3
|
|
subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
|
|
-- if present, version must be v2 or v3
|
|
extensions [3] Extensions OPTIONAL
|
|
-- If present, version must be v3 -- },
|
|
algorithmIdentifier AlgorithmIdentifier,
|
|
encrypted BIT STRING
|
|
}
|
|
|
|
-- imported to allow labelling
|
|
SubjectName ::= CHOICE {
|
|
rdnSequence RDNSequence
|
|
}
|
|
|
|
Version ::= INTEGER {v1(0), v2(1), v3(2)}
|
|
|
|
CertificateSerialNumber ::= INTEGER
|
|
|
|
AlgorithmIdentifier ::= SEQUENCE {
|
|
algorithmId OBJECT IDENTIFIER,
|
|
parameters ANY OPTIONAL
|
|
}
|
|
|
|
-- Definition of the following information object set is deferred, perhaps to standardized
|
|
-- profiles or to protocol implementation conformance statements. The set is required to
|
|
-- specify a table constraint on the parameters component of AlgorithmIdentifier.
|
|
--SupportedAlgorithms ALGORITHM ::=
|
|
--{...}
|
|
|
|
Validity ::= SEQUENCE {notBefore Time,
|
|
notAfter Time
|
|
}
|
|
|
|
SubjectPublicKeyInfo ::= SEQUENCE {
|
|
algorithm AlgorithmIdentifier,
|
|
subjectPublicKey BIT STRING
|
|
}
|
|
|
|
Time ::= CHOICE {utcTime UTCTime,
|
|
generalizedTime GeneralizedTime
|
|
}
|
|
|
|
Extensions ::= SEQUENCE OF Extension
|
|
|
|
-- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
|
|
-- specification of those individual extensions shall include the rules for the significance of the order therein
|
|
Extension ::= SEQUENCE {
|
|
extnId OBJECT IDENTIFIER,
|
|
critical BOOLEAN OPTIONAL,
|
|
extnValue OCTET STRING
|
|
-- contains a DER encoding of a value of type &ExtnType
|
|
-- for the extension object identified by extnId
|
|
}
|
|
|
|
--ExtensionSet EXTENSION ::=
|
|
-- {...}
|
|
|
|
--EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
|
|
-- &ExtnType
|
|
--}WITH SYNTAX {SYNTAX &ExtnType
|
|
-- IDENTIFIED BY &id
|
|
--}
|
|
|
|
-- other certificate constructs
|
|
Certificates ::= SEQUENCE {
|
|
userCertificate Certificate,
|
|
certificationPath ForwardCertificationPath OPTIONAL
|
|
}
|
|
|
|
ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
|
|
|
|
CrossCertificates ::= SET OF Certificate
|
|
|
|
CertificationPath ::= SEQUENCE {
|
|
userCertificate Certificate,
|
|
theCACertificates SEQUENCE OF CertificatePair OPTIONAL
|
|
}
|
|
|
|
CertificatePair ::= SEQUENCE {
|
|
issuedByThisCA [0] Certificate OPTIONAL,
|
|
issuedToThisCA [1] Certificate OPTIONAL
|
|
-- at least one of the pair shall be present
|
|
}
|
|
|
|
-- Certificate Revocation List (CRL)
|
|
CertificateList ::= SEQUENCE {
|
|
signedCertificateList SEQUENCE {
|
|
version Version OPTIONAL,
|
|
-- if present, version must be v2
|
|
signature AlgorithmIdentifier,
|
|
issuer Name,
|
|
thisUpdate Time,
|
|
nextUpdate Time OPTIONAL,
|
|
revokedCertificates
|
|
SEQUENCE OF
|
|
SEQUENCE {userCertificate CertificateSerialNumber,
|
|
revocationDate Time,
|
|
crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
|
|
crlExtensions [0] Extensions OPTIONAL},
|
|
algorithmIdentifier AlgorithmIdentifier,
|
|
encrypted BIT STRING
|
|
}
|
|
|
|
-- attribute certificate
|
|
AttributeCertificationPath ::= SEQUENCE {
|
|
attributeCertificate AttributeCertificate,
|
|
acPath SEQUENCE OF ACPathData OPTIONAL
|
|
}
|
|
|
|
ACPathData ::= SEQUENCE {
|
|
certificate [0] Certificate OPTIONAL,
|
|
attributeCertificate [1] AttributeCertificate OPTIONAL
|
|
}
|
|
|
|
--attributeCertificate ATTRIBUTE ::= {
|
|
-- WITH SYNTAX AttributeCertificate
|
|
-- EQUALITY MATCHING RULE attributeCertificateMatch
|
|
-- ID id-at-attributeCertificate
|
|
--}
|
|
|
|
AttributeCertificate ::= SEQUENCE {
|
|
signedAttributeCertificateInfo AttributeCertificateInfo,
|
|
algorithmIdentifier AlgorithmIdentifier,
|
|
encrypted BIT STRING
|
|
}
|
|
|
|
AttributeCertificateInfo ::= SEQUENCE {
|
|
version Version DEFAULT v1,
|
|
subject
|
|
CHOICE {baseCertificateID [0] IssuerSerial,
|
|
subjectName [1] GeneralNames
|
|
},
|
|
issuer GeneralNames,
|
|
signature AlgorithmIdentifier,
|
|
serialNumber CertificateSerialNumber,
|
|
attCertValidityPeriod AttCertValidityPeriod,
|
|
attributes SEQUENCE OF Attribute,
|
|
issuerUniqueID UniqueIdentifier OPTIONAL,
|
|
extensions Extensions OPTIONAL
|
|
}
|
|
|
|
IssuerSerial ::= SEQUENCE {
|
|
issuer GeneralNames,
|
|
serial CertificateSerialNumber,
|
|
issuerUID UniqueIdentifier OPTIONAL
|
|
}
|
|
|
|
AttCertValidityPeriod ::= SEQUENCE {
|
|
notBeforeTime GeneralizedTime,
|
|
notAfterTime GeneralizedTime
|
|
}
|
|
|
|
--attributeCertificateMatch MATCHING-RULE ::= {
|
|
-- SYNTAX AttributeCertificateAssertion
|
|
-- ID id-mr-attributeCertificateMatch
|
|
--}
|
|
|
|
AttributeCertificateAssertion ::= SEQUENCE {
|
|
subject
|
|
[0] CHOICE {baseCertificateID [0] IssuerSerial,
|
|
subjectName [1] SubjectName} OPTIONAL,
|
|
issuer [1] Name OPTIONAL,
|
|
attCertValidity [2] GeneralizedTime OPTIONAL,
|
|
attType [3] SET OF AttributeType OPTIONAL
|
|
}
|
|
|
|
-- At least one component of the sequence must be present
|
|
-- attribute types
|
|
--userPassword ATTRIBUTE ::= {
|
|
-- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
|
|
-- EQUALITY MATCHING RULE octetStringMatch
|
|
-- ID id-at-userPassword
|
|
--}
|
|
|
|
--userCertificate ATTRIBUTE ::= {
|
|
-- WITH SYNTAX Certificate
|
|
-- EQUALITY MATCHING RULE certificateExactMatch
|
|
-- ID id-at-userCertificate
|
|
--}
|
|
|
|
--cACertificate ATTRIBUTE ::= {
|
|
-- WITH SYNTAX Certificate
|
|
-- EQUALITY MATCHING RULE certificateExactMatch
|
|
-- ID id-at-cAcertificate
|
|
--}
|
|
|
|
--crossCertificatePair ATTRIBUTE ::= {
|
|
-- WITH SYNTAX CertificatePair
|
|
-- EQUALITY MATCHING RULE certificatePairExactMatch
|
|
-- ID id-at-crossCertificatePair
|
|
--}
|
|
|
|
--authorityRevocationList ATTRIBUTE ::= {
|
|
-- WITH SYNTAX CertificateList
|
|
-- EQUALITY MATCHING RULE certificateListExactMatch
|
|
-- ID id-at-authorityRevocationList
|
|
--}
|
|
|
|
--certificateRevocationList ATTRIBUTE ::= {
|
|
-- WITH SYNTAX CertificateList
|
|
-- EQUALITY MATCHING RULE certificateListExactMatch
|
|
-- ID id-at-certificateRevocationList
|
|
--}
|
|
|
|
--attributeCertificateRevocationList ATTRIBUTE ::= {
|
|
-- WITH SYNTAX CertificateList
|
|
-- ID id-at-attributeCertificateRevocationList
|
|
--}
|
|
|
|
-- information object classes
|
|
--ALGORITHM ::= TYPE-IDENTIFIER
|
|
|
|
-- object identifier assignments
|
|
--id-at-userPassword OBJECT IDENTIFIER ::=
|
|
-- {id-at 35}
|
|
|
|
id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
|
|
|
|
id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
|
|
|
|
id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
|
|
|
|
id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
|
|
|
|
id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
|
|
|
|
id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
|
|
|
|
id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
|
|
|
|
--id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
|
|
|
|
-- these are sneaked in from DSS - a separate dissector seems OTT
|
|
|
|
DSS-Params ::= SEQUENCE {
|
|
p INTEGER,
|
|
q INTEGER,
|
|
g INTEGER
|
|
}
|
|
|
|
END
|
|
|
|
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
|
|
|