ASN.1 类型系统
数据类型的概念是抽象语法表示法 1 (ASN.1) 标准的基础。 证书请求结构的每个字段都与类型相关联。 例如,请考虑以下示例中显示的 PKCS #10 ASN.1 证书语法。
--------------------------------------------------------------------
-- 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
高级请求结构 CertificationRequestInfo 是由其他类型的序列组成的类型。 如果类型为或仅包含基本类型、字符串类型或 ANY,则无法进一步细分。 例如, 版本 字段是 一个 CertificationRequestInfoVersion 类型,反过来又是 INTEGER 类型,一种基本 ASN.1 类型,它不是由其他类型构成的。
类型系统使请求的语法能够以开发人员易于理解的方式直观呈现,并使请求能够一致地编码,以便通过网络传输。 有关编码的详细信息,请参阅 可辨别编码规则。 有关 ASN.1 类型的详细信息,请参阅以下主题。
讨论以下数据类型:
- BIT STRING
- BOOLEAN
- INTEGER
- NULL
- 对象标识符
- 八进制字符串
讨论以下字符串类型:
- BMPString
- IA5String
- PrintableString
- TeletexString
- UTF8String
讨论可包含基本类型、字符串类型或其他构造类型的 ASN.1 数据类型。
相关主题