Sistema de tipos ASN.1
El concepto de un tipo de datos es fundamental para el estándar Abstract Syntax Notation One (ASN.1). Cada campo de una estructura de solicitud de certificado está asociado a un tipo. Considere, por ejemplo, la sintaxis de certificado PKCS #10 ASN.1 que se muestra en el ejemplo siguiente.
--------------------------------------------------------------------
-- 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
La estructura de solicitudes de alto nivel, CertificationRequestInfo, es un tipo que se compone de una secuencia de otros tipos. Cuando un tipo es o solo contiene tipos básicos, tipos de cadena o ANY, no se puede desglosar más. Por ejemplo, el campo versión de es un tipo CertificationRequestInfo Version que, a su vez, es un tipo INTEGER, un tipo ASN.1 básico que no se compone de otros tipos.
Un sistema de tipos permite presentar visualmente la sintaxis de una solicitud de forma fácil de entender por los desarrolladores y permite codificar la solicitud de forma coherente para la transmisión a través de una red. Para obtener más información sobre la codificación, vea reglas de codificación distintivo. Para obtener más información sobre los tipos ASN.1, consulte los temas siguientes.
Describe los siguientes tipos de datos:
- BIT STRING
- BOOLEAN
- INTEGER
- NULL
- DE IDENTIFICADOR DE OBJETO
- DE CADENA OCTET de
Describe los siguientes tipos de cadena:
- BMPString
- IA5String
- PrintableString
- teletexString
- UTF8String
Describe los tipos de datos ASN.1 que pueden contener tipos básicos, tipos de cadena u otros tipos construidos.
Temas relacionados