Compartilhar via


Interface IX509ExtensionAlternativeNames (certenroll.h)

A interface IX509ExtensionAlternativeNames permite que você especifique um ou mais formulários de nome alternativos para o assunto de um certificado. Uma autoridade de certificação processa a extensão associando os nomes à chave pública certificada. A sintaxe a seguir mostra a estrutura ASN.1 ( Abstract Syntax Notation One ) da extensão. O valor da extensão é codificado usando Distinguished Encoding Rules (DER) e incluído na solicitação de certificado.


----------------------------------------------------------------------
-- AlternativeNames 
-- XCN_OID_SUBJECT_ALT_NAME2 (2.5.29.17)
----------------------------------------------------------------------

AltNames ::= SEQUENCE --#public-- OF GeneralName
GeneralNames ::= AltNames

GeneralName ::= CHOICE 
{
   otherName               [0] IMPLICIT OtherName,
   rfc822Name              [1] IMPLICIT IA5STRING,
   dNSName                 [2] IMPLICIT IA5STRING,
   x400Address             [3] IMPLICIT SeqOfAny,       -- Not supported
   directoryName           [4] EXPLICIT ANY,    
   ediPartyName            [5] IMPLICIT SeqOfAny,
   uniformResourceLocator  [6] IMPLICIT IA5STRING,
   iPAddress               [7] IMPLICIT OCTETSTRING,
   registeredID            [8] IMPLICIT EncodedObjectID -- Not supported
}

OtherName ::= SEQUENCE 
{
   type                    EncodedObjectID,
   value                   [0] EXPLICIT NOCOPYANY 
}

Se você inicializar essa extensão usando uma coleção IAlternativeNames , os seguintes tipos de nome serão compatíveis.

Valor Descrição
XCN_CERT_ALT_NAME_OTHER_NAME O nome consiste em um identificador de objeto e uma matriz de bytes que contém o nome.
XCN_CERT_ALT_NAME_RFC822_NAME O nome é um endereço de email.
XCN_CERT_ALT_NAME_DNS_NAME O nome é um nome de sistema de nomes de domínio.
XCN_CERT_ALT_NAME_DIRECTORY_NAME O nome é um nome de diretório X.500 .
XCN_CERT_ALT_NAME_URL O nome é uma URL.
XCN_CERT_ALT_NAME_IP_ADDRESS O nome é um endereço IP (Internet Protocol).
XCN_CERT_ALT_NAME_REGISTERED_ID O nome é um OID ( identificador de objeto registrado).
XCN_CERT_ALT_NAME_GUID O nome é um GUID. Esta é uma forma de otherName.
XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME O nome é um UPN ( nome upn ). O formato UPN é baseado em RFC 822.
 

Para adicionar esse objeto de extensão a uma solicitação PKCS nº 10 ou uma solicitação CMC, primeiro você deve adicioná-lo a uma coleção IX509Extensions e usar a coleção para inicializar um objeto IX509AttributeExtensions . Para obter mais informações, consulte os tópicos Extensões PKCS #10 e Extensões do CMC .

Herança

A interface IX509ExtensionAlternativeNames herda de IX509Extension. IX509ExtensionAlternativeNames também tem estes tipos de membros:

Métodos

A interface IX509ExtensionAlternativeNames tem esses métodos.

 
IX509ExtensionAlternativeNames::get_AlternativeNames

Recupera uma coleção de nomes alternativos de assunto.
IX509ExtensionAlternativeNames::InitializeDecode

Inicializa a extensão de uma matriz de bytes codificada em DER (Distinguished Encoding Rules) que contém o valor da extensão. (IX509ExtensionAlternativeNames.InitializeDecode)
IX509ExtensionAlternativeNames::InitializeEncode

Inicializa a extensão de uma coleção IAlternativeNames.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certenroll.h

Confira também

API de registro de certificado

Extensões

IX509Extension