ASN.1-Typsystem
Das Konzept eines Datentyps ist grundlegend für den Standard "Abstrakte Syntax Notation One" (ASN.1). Jedes Feld einer Zertifikatanforderungsstruktur ist einem Typ zugeordnet. Betrachten Sie beispielsweise die PKCS #10 ASN.1-Zertifikatssyntax im folgenden Beispiel.
--------------------------------------------------------------------
-- 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 nur grundlegende Typen, Zeichenfolgentypen oder ANY enthält, kann es nicht weiter unterteilt werden. Das Versionsfeld ist beispielsweise ein ZertifizierungRequestInfoVersion-Typ, der wiederum ein INTEGER-Typ ist, einen grundlegenden ASN.1-Typ, der nicht aus anderen Typen besteht.
Ein Typsystem ermöglicht es, die Syntax einer Anforderung visuell in einer Weise zu präsentieren, die von Entwicklern leicht verstanden wird, und es ermöglicht die Anforderung, für die Übertragung über ein Netzwerk konsistent codiert zu werden. 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:
- BITZEICHENFOLGE
- BOOLEAN
- INTEGER
- NULL
- OBJEKTBEZEICHNER
- OCTET-ZEICHENFOLGE
Erläutert die folgenden Zeichenfolgentypen:
- BMPString
- IA5String
- PrintableString
- TeletexString
- UTF8String
Erläutert ASN.1-Datentypen, die grundlegende Typen, Zeichenfolgentypen oder andere erstellte Typen enthalten können.
Zugehörige Themen