Bagikan melalui


Sistem Jenis ASN.1

Konsep jenis data sangat mendasar untuk standar Abstract Syntax Notation One (ASN.1). Setiap bidang struktur permintaan sertifikat dikaitkan dengan jenis . Pertimbangkan, misalnya, sintaks sertifikat PKCS #10 ASN.1 yang diperlihatkan dalam contoh berikut.

--------------------------------------------------------------------
-- 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

Struktur permintaan tingkat tinggi, CertificationRequestInfo, adalah jenis yang terdiri dari urutan jenis lain. Ketika jenis adalah atau hanya berisi jenis dasar, jenis string, atau ANY, jenis tersebut tidak dapat dipecah lebih lanjut. Misalnya, bidang versi adalah jenis CertificationRequestInfoVersion yang, pada gilirannya, jenis INTEGER , jenis ASN.1 dasar yang tidak terdiri dari jenis lain.

Sistem jenis memungkinkan sintaks permintaan disajikan secara visual dengan cara yang mudah dipahami oleh pengembang, dan memungkinkan permintaan dikodekan secara konsisten untuk transmisi di seluruh jaringan. Untuk informasi selengkapnya tentang pengodean, lihat Distinguished Encoding Rules. Untuk informasi selengkapnya tentang jenis ASN.1, lihat topik berikut ini.

Jenis Dasar

Membahas jenis data berikut:

  • BIT STRING
  • BOOLEAN
  • INTEGER
  • NULL
  • PENGIDENTIFIKASI OBJEK
  • UNTAI (KARAKTER) OCTET

Jenis String

Membahas jenis string berikut:

  • BMPString
  • IA5String
  • PrintableString
  • TeletexString
  • UTF8String

Jenis yang Dibangun

Membahas jenis data ASN.1 yang dapat berisi jenis dasar, jenis string, atau jenis konstruksi lainnya.

 

Pengodean Permintaan Sertifikat

Pengodean DER Jenis ASN.1

Distinguished Encoding Rules

Pengantar Sintaks dan Pengodean ASN.1