Bagikan melalui


Jenis String

Salah satu kegunaan string yang paling umum dalam infrastruktur kunci publik (PKI) adalah membuat Nama Yang Dibedakan X.500. Misalnya, nama subjek permintaan sertifikat dibuat dengan menggabungkan urutan nama khusus relatif seperti yang ditunjukkan dalam contoh sintaks berikut.

---------------------------------------------------------------------
-- Breakdown of a subject name in a certificate request.
---------------------------------------------------------------------

CertificationRequestInfo ::= SEQUENCE 
{
   version                 CertificationRequestInfoVersion,
   subject                 Name,
   subjectPublicKeyInfo    SubjectPublicKeyInfo,
   attributes              [0] IMPLICIT Attributes
}

Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
   type       OBJECT IDENTIFIER,
   value      ANY 
}

DirectoryString ::= CHOICE 
{
   teletexString           TeletexString (SIZE (1..MAX)),
   printableString         PrintableString (SIZE (1..MAX)),
   universalString         UniversalString (SIZE (1..MAX)),
   utf8String              UTF8String (SIZE (1..MAX)),
   bmpString               BMPString (SIZE (1..MAX)) 
}

API Pendaftaran Sertifikat mendukung jenis string ASN.1 berikut.

BMPString

Tag pengodean: 0x1E

nama Certreq.exe: UNICODE_STRING

Basic Multilingual Plane (BMP) adalah pengodean karakter yang mencakup bidang pertama Dari Universal Character Set (UCS). Ada tujuh belas pesawat bernomor 0 hingga 16. BMP menempati bidang 0 dan mencakup 65.536 titik kode dari 0x0000 hingga 0xFFFF. Ini adalah bagian dari peta karakter Unicode di mana sebagian besar penetapan karakter sejauh ini telah dibuat. Ini termasuk bahasa Latin, Timur Tengah, Asia, Afrika, dan bahasa lainnya.

IA5String

Tag pengodean: 0x16

nama Certreq.exe: IA5_STRING

Alfabet Internasional nomor 5 (IA5) umumnya setara dengan alfabet ASCII, tetapi versi yang berbeda dapat mencakup aksen atau karakter lain khusus untuk bahasa regional. Contoh berikut menunjukkan jenis IA5String yang digunakan dalam definisi ASN.1 dari ekstensi sertifikat AlternativeNames .

---------------------------------------------------------------------
-- AlternativeNames extension
---------------------------------------------------------------------

AltNames ::= SEQUENCE OF GeneralName

GeneralNames ::= AltNames

GeneralName ::= CHOICE 
{
   otherName               [0] IMPLICIT OtherName,
   rfc822Name              [1] IMPLICIT IA5String,
   dNSName                 [2] IMPLICIT IA5String,
   x400Address             [3] IMPLICIT SEQUENCE OF ANY, 
   directoryName           [4] EXPLICIT ANY,    
   ediPartyName            [5] IMPLICIT SEQUENCE OF ANY,
   uniformResourceLocator  [6] IMPLICIT IA5String,
   iPAddress               [7] IMPLICIT OCTET STRING,
   registeredID            [8] IMPLICIT OBJECT IDENTIFIER
}

OtherName ::= SEQUENCE 
{
   type                    OBJECT IDENTIFIER,
   value                   [0] EXPLICIT ANY 
}

PrintableString

Tag pengodean: 0x13

nama Certreq.exe: PRINTABLE_STRING

Jenis data PrintableString awalnya dimaksudkan untuk mewakili kumpulan karakter terbatas yang tersedia untuk terminal input mainframe, tetapi masih umum digunakan. Ini berisi karakter berikut:

  • A-Z
  • a-z
  • 0-9
  • ' ( ) + , - . / : = ? [spasi]

TeletexString

Tag pengodean: 0x14

Jenis data TeletexString dan T61String terkait dikodekan pada 8 bit (atau 16 bit untuk karakter komposit). Keduanya memiliki nomor tag 0x14. Mereka tidak digunakan secara luas.

UTF8String

Tag pengodean: 0x0C

nama Certreq.exe: UTF8_STRING

Format Transformasi UCS/Unicode 8-bit (UTF-8) adalah pengodean karakter panjang variabel yang dapat mewakili karakter universal apa pun sebagai karakter Unicode sambil memungkinkan titik kode awal tetap konsisten dengan ASCII. UTF-8 menggunakan satu hingga empat byte. Nomor tag 0x0C.

Sistem Jenis ASN.1

Distinguished Encoding Rules

Pengodean DER Jenis ASN.1