ASN.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
- 布爾值
- INTEGER
- NULL
- 物件標識碼
- OCTET STRING
討論下列字串型態:
- BMPString
- IA5String
- PrintableString
- TeletexString
- UTF8String
討論可以包含基本型別、字串類型或其他建構型別的 ASN.1 數據類型。
相關主題
-
ASN.1 類型的 DER 編碼
-
ASN.1 語法和編碼 簡介