Skip to content

Latest commit

 

History

History
147 lines (124 loc) · 5.73 KB

nn-certenroll-ix509extensionalternativenames.md

File metadata and controls

147 lines (124 loc) · 5.73 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NN:certenroll.IX509ExtensionAlternativeNames
IX509ExtensionAlternativeNames (certenroll.h)
Enables you to specify one or more alternative name forms for the subject of a certificate. A certification authority processes the extension by binding the names to the certified public key.
IX509ExtensionAlternativeNames
IX509ExtensionAlternativeNames interface [Security]
IX509ExtensionAlternativeNames interface [Security]
described
certenroll/IX509ExtensionAlternativeNames
security.ix509extensionalternativenames
security\ix509extensionalternativenames.htm
security
facfcc85-c1ca-47a1-90a6-10522b15cc65
12/05/2018
IX509ExtensionAlternativeNames, IX509ExtensionAlternativeNames interface [Security], IX509ExtensionAlternativeNames interface [Security],described, certenroll/IX509ExtensionAlternativeNames, security.ix509extensionalternativenames
certenroll.h
Windows
Windows Vista [desktop apps only]
Windows Server 2008 [desktop apps only]
CertEnroll.dll
Windows
19H1
IX509ExtensionAlternativeNames
certenroll/IX509ExtensionAlternativeNames
c++
APIRef
kbSyntax
COM
CertEnroll.dll
IX509ExtensionAlternativeNames

IX509ExtensionAlternativeNames interface

-description

The IX509ExtensionAlternativeNames interface enables you to specify one or more alternative name forms for the subject of a certificate. A certification authority processes the extension by binding the names to the certified public key. The following syntax shows the Abstract Syntax Notation One (ASN.1) structure of the extension. The extension value is encoded by using Distinguished Encoding Rules (DER) and included in the certificate request.

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

If you initialize this extension by using an IAlternativeNames collection, the following name types are supported.

Value Description
XCN_CERT_ALT_NAME_OTHER_NAME The name consists of an object identifier and a byte array that contains the name.
XCN_CERT_ALT_NAME_RFC822_NAME The name is an email address.
XCN_CERT_ALT_NAME_DNS_NAME The name is a Domain Name System name.
XCN_CERT_ALT_NAME_DIRECTORY_NAME The name is an X.500 directory name.
XCN_CERT_ALT_NAME_URL The name is a URL.
XCN_CERT_ALT_NAME_IP_ADDRESS The name is an Internet Protocol (IP) address.
XCN_CERT_ALT_NAME_REGISTERED_ID The name is a registered object identifier (OID).
XCN_CERT_ALT_NAME_GUID The name is a GUID. This is a form of otherName.
XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME The name is a user principal name (UPN). The UPN format is based on RFC 822.
 

To add this extension object to a PKCS #10 request or a CMC request, you must first add it to an IX509Extensions collection and use the collection to initialize an IX509AttributeExtensions object. For more information, see the PKCS #10 Extensions and the CMC Extensions topics.

-inheritance

The IX509ExtensionAlternativeNames interface inherits from IX509Extension. IX509ExtensionAlternativeNames also has these types of members:

-see-also

Certificate Enrollment API

Extensions

IX509Extension