Interfaccia IX509Extension (certenroll.h)

L'interfaccia IX509Extension può essere usata per definire un'estensione per una richiesta di certificato . Le estensioni del certificato forniscono informazioni sull'utilizzo delle chiavi, i criteri e i vincoli dei certificati, i moduli di nomi alternativi e altro ancora. Un'estensione è costituita da un identificatore di oggetto (OID), un valore booleano che identifica se l'estensione è critica e una matrice di byte che contiene il valore dell'estensione, come illustrato nella sintassi astratta seguente (ASN.1).


Extension ::= SEQUENCE 
{
   extnId              OBJECT IDENTIFIER,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

L'API Di registrazione certificati contiene le interfacce seguenti, derivate da IX509Extension, che è possibile usare per creare le varie estensioni usate più comunemente in un'infrastruttura a chiave pubblica (PKI) che si basa su un server di certificati di Windows .

Nota Non utilizzare l'interfaccia di base IX509Extension per rappresentare qualsiasi estensione che può essere rappresentata da una delle interfacce seguenti. Il comportamento della registrazione non è definito se l'interfaccia appropriata non viene usata.

 
Interfaccia Descrizione
IX509ExtensionAlternativeNames Definisce un'estensione AlternativeNames che contiene uno o più moduli di nome alternativo per l'oggetto della richiesta di certificato.
IX509ExtensionAuthorityKeyIdentifier Definisce un'estensione di AuthorityKeyIdentifier che consente l'identificazione dell'autorità di certificazione chiave pubblica che corrisponde all'autorità di certificazione chiave privata che ha firmato un certificato emesso. Viene usato dal software di compilazione del percorso del certificato in un server Windows per trovare il certificato dell'autorità di certificazione.
IX509ExtensionBasicConstraints Definisce un'estensione BasicConstraints che identifica se l'entità può essere usata come autorità di certificazione e, in tal caso, il numero di autorità di certificazione subordinate che possono esistere sotto di essa nella catena di certificati.
IX509ExtensionCertificatePolicies Definisce un 'estensione CertificatePolicies che identifica i criteri con cui è stato rilasciato il certificato e gli scopi per cui può essere usato.
IX509ExtensionEnhancedKeyUsage Definisce un'estensione EnhancedKeyUsage che identifica uno o più usi della chiave pubblica contenuta nel certificato.
IX509ExtensionKeyUsage Definisce un'estensione KeyUsage che limita le operazioni che possono essere eseguite dalla chiave pubblica contenuta nel certificato.
IX509ExtensionMSApplicationPolicies Definisce un'estensione MSApplicationPolicies che può essere usata da un'applicazione per filtrare i certificati in base all'uso consentito. Gli usi consentiti sono identificati dagli identificatori di oggetto (OID).
IX509ExtensionSmimeCapabilities Definisce un 'estensione SmimeCapabilities che identifica le funzionalità di decrittografia di un destinatario di posta elettronica in modo che il mittente del messaggio di posta elettronica possa scegliere l'algoritmo di crittografia più sicuro supportato da entrambe le parti.
IX509ExtensionSubjectKeyIdentifier Definisce un'estensione SubjectKeyIdentifier che distingue tra più chiavi pubbliche mantenute dal proprietario del certificato. Il valore dell'estensione è in genere un hash SHA-1 della chiave.
IX509ExtensionTemplate Definisce un'estensione modello che identifica il modello della versione 2 da usare durante il rilascio o il rinnovo di un certificato.
IX509ExtensionTemplateName Definisce un'estensione TemplateName che identifica il modello della versione 1 da usare durante il rilascio o il rinnovo di un certificato.
 

La maggior parte delle estensioni che è possibile creare usando le interfacce precedenti è definita dalla versione 3 X.509 standard di sintassi. Per creare le estensioni della versione 3 per cui Microsoft non fornisce un oggetto personalizzato, è possibile usare l'interfaccia IX509Extension. Queste estensioni sono identificate nella tabella seguente.

Estensione/OID Descrizione
AuthorityInformationAccess(XCN_OID_AUTHORITY_INFO_ACCESS) Identifica come accedere alle informazioni e ai servizi dell'autorità di certificazione. Il valore dell'estensione contiene una sequenza di URI.
CrlDistributionPoints (XCN_OID_CRL_DIST_POINTS) Contiene l'URI dell'elenco di revoche di certificati di base (CRL).
FreshestCRL (XCN_OID_FRESHEST_CRL) Contiene l'URI del CRL differenziale. La stessa sintassi ASN.1 viene usata per questa estensione e l'estensione CrlDistributionPoints .
NameConstraints(XCN_OID_NAME_CONSTRAINTS) Identifica lo spazio dei nomi in cui devono trovarsi tutti i nomi dei soggetti dei certificati in una gerarchia di certificati. L'estensione viene usata solo in un certificato dell'autorità di certificazione.
PolicyConstraints(XCN_OID_POLICY_CONSTRAINTS) Vincola la convalida del percorso vietando il mapping dei criteri o richiedendo che ogni certificato nella gerarchia contenga un identificatore di criteri accettabile.
PolicyMappings(XCN_OID_POLICY_MAPPINGS) Identifica i criteri in un'autorità di certificazione subordinata che corrispondono ai criteri nell'autorità di certificazione emittente. Il valore dell'estensione contiene una sequenza di mapping dei criteri dell'autorità di certificazione e di autorità di certificazione subordinata rappresentati dagli identificatori di oggetto.
PrivateKeyUsagePeriod (XCN_OID_PRIVATEKEY_USAGE_PERIOD) Specifica un periodo di validità diverso per la chiave privata rispetto al certificato a cui è associata la chiave.
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) Trasmette attributi di identificazione, ad esempio la nazionalità sul soggetto del certificato. Il valore dell'estensione è una sequenza di coppie OID-value.
 

Infine, è possibile usare l'interfaccia IX509Extension per definire estensioni private che contengono informazioni univoche per una community specifica.

Le estensioni vengono aggiunte alla struttura attributi di una richiesta PKCS #10 e alla struttura TaggedAttributes di una richiesta CMC. Per aggiungere estensioni a entrambi i formati di richiesta, è prima necessario aggiungerle a un insieme IX509Extensions e utilizzare l'insieme per inizializzare un oggetto IX509AttributeExtensions. Per altre informazioni, vedere gli argomenti estensioni PKCS #10 e le estension i cmc .

Eredità

L'interfaccia IX509 IX509 Eredita dall'interfaccia IDispatch . IX509Extension include anche questi tipi di membri:

Metodi

L'interfaccia IX509Extension dispone di questi metodi.

 
IX509Extension::get_Critical

Specifica e recupera un valore booleano che identifica se l'estensione del certificato è critica. (Get)
IX509Extension::get_ObjectId

Recupera l'identificatore dell'oggetto (OID) per l'estensione.
IX509Extension::get_RawData

Recupera una matrice di byte che contiene il valore dell'estensione. (IX509Extension.get_RawData)
IX509Extension::Initialize

Inizializza un oggetto IX509Extension utilizzando un identificatore di oggetto (OID) e una matrice di byte che contiene l'estensione con codifica DER (Distinguished Encoding Rules).
IX509Extension::p ut_Critical

Specifica e recupera un valore booleano che identifica se l'estensione del certificato è critica. (Put)

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2008 [solo app desktop]
piattaforma di destinazione Finestre
intestazione certenroll.h

Vedere anche

'API di registrazione certificati

ICryptAttribute

IDispatch

IX509AttributeExtensions

IX509Extensions