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.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk