Tipos de cadeia de caracteres
Um dos usos mais comuns de cadeias de caracteres em uma PKI (infraestrutura de chave pública) é criar um Nome Diferenciado X.500. Por exemplo, o nome da entidade de uma solicitação de certificado é criado combinando uma sequência de nomes distintos relativos, conforme mostrado no exemplo de sintaxe a seguir.
---------------------------------------------------------------------
-- 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))
}
A API de Registro de Certificado dá suporte aos seguintes tipos de cadeia de caracteres ASN.1.
BMPString
Marca de codificação: 0x1E
Certreq.exe nome: UNICODE_STRING
O Plano Multilíngue Básico (BMP) é uma codificação de caracteres que abrange o primeiro plano do Conjunto Universal de Caracteres (UCS). Há dezessete aviões numerados de 0 a 16. O BMP ocupa o plano 0 e inclui 65.536 pontos de código de 0x0000 a 0xFFFF. Esta é a seção do mapa de caracteres Unicode em que a maioria das atribuições de caracteres foram feitas até agora. Inclui latino, oriente médio, asiático, africano e outras línguas.
IA5String
Marca de codificação: 0x16
Certreq.exe nome: IA5_STRING
O alfabeto internacional número 5 (IA5) geralmente é equivalente ao alfabeto ASCII, mas versões diferentes podem incluir ênfases ou outros caracteres específicos de uma linguagem regional. O exemplo a seguir mostra o tipo IA5String usado na definição ASN.1 da extensão de certificado 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
Marca de codificação: 0x13
Certreq.exe nome: PRINTABLE_STRING
O tipo de dados PrintableString foi originalmente destinado a representar os conjuntos de caracteres limitados disponíveis para terminais de entrada de mainframe, mas ainda é comumente usado. Ele contém os seguintes caracteres:
- A-Z
- a-z
- 0-9
- ' ( ) + , - . / : = ? [espaço]
TeletexString
Marca de codificação: 0x14
O TeletexString e os tipos de dados T61String relacionados são codificados em 8 bits (ou 16 bits para caracteres compostos). Ambos têm um número de marcas de 0x14. Eles não são amplamente usados.
Utf8string
Marca de codificação: 0x0C
Certreq.exe nome: UTF8_STRING
O formato de transformação UCS/Unicode de 8 bits (UTF-8) é uma codificação de caracteres de comprimento variável que pode representar qualquer caractere universal como um caractere Unicode, permitindo que os pontos de código iniciais permaneçam consistentes com ASCII. UTF-8 usa um a quatro bytes. O número da marca é 0x0C.
Tópicos relacionados