ASN.1-Typsystem
Das Konzept eines Datentyps ist für den ASN.1-Standard (Abstract Syntax Notation One) von grundlegender Bedeutung. Jedes Feld einer Zertifikatanforderungsstruktur ist einem Typ zugeordnet. Betrachten Sie beispielsweise die IM FOLGENDEN Beispiel gezeigte PKCS # 10 ASN.1-Zertifikatssyntax.
--------------------------------------------------------------------
-- PKCS #10 Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
--------------------------------------------------------------------
-- Version number.
--------------------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER
--------------------------------------------------------------------
-- Subject distinguished name (DN).
--------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
--------------------------------------------------------------------
-- Public key information.
--------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
--------------------------------------------------------------------
-- Attributes.
--------------------------------------------------------------------
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type OBJECT IDENTIFIER,
values AttributeSetValue
}
AttributeSetValue ::= SET OF ANY
Die Anforderungsstruktur auf hoher Ebene, CertificationRequestInfo, ist ein Typ, der aus einer Sequenz anderer Typen besteht. Wenn ein Typ ist oder nur grundlegende Typen, Zeichenfolgentypen oder ANY enthält, kann er nicht weiter unterteilt werden. Beispielsweise ist das Versionsfeld ein CertificationRequestInfoVersion-Typ, der wiederum ein INTEGER-Typ ist, ein grundlegender ASN.1-Typ, der nicht aus anderen Typen besteht.
Ein Typsystem ermöglicht es, die Syntax einer Anforderung visuell auf eine Weise zu präsentieren, die von Entwicklern leicht verstanden wird, und ermöglicht es, die Anforderung konsistent für die Übertragung über ein Netzwerk zu codieren. Weitere Informationen zur Codierung finden Sie unter Distinguished Encoding Rules. Weitere Informationen zu ASN.1-Typen finden Sie in den folgenden Themen.
Erläutert die folgenden Datentypen:
- BIT STRING
- Boolean
- INTEGER
- NULL
- OBJEKTBEZEICHNER
- OKTETT-ZEICHENFOLGE
Erläutert die folgenden Zeichenfolgentypen:
- BMPString
- IA5String
- PrintableString
- TeletexString
- UTF8String
Erläutert ASN.1-Datentypen, die grundlegende Typen, Zeichenfolgentypen oder andere konstruierte Typen enthalten können.