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 nome 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 di estensione come illustrato dalla sintassi astratta 1 (ASN.1) sintassi astratta.
Extension ::= SEQUENCE
{
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
L'API 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 Windows.
Interfaccia | Descrizione |
---|---|
IX509ExtensionAlternativeNames | Definisce un'estensione AlternativeNames contenente uno o più moduli di nome alternativi per l'oggetto della richiesta di certificato. |
IX509ExtensionAuthorityKeyIdentifier | Definisce un'estensione AuthorityKeyIdentifier che consente l'identificazione della chiave pubblica dell'autorità di certificazione che corrisponde alla chiave privatadell'autorità di certificazione che ha firmato un certificato rilasciato. Viene usato dal software di creazione del percorso 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 esso nella catena di certificati. |
IX509ExtensionCertificatePolicies | Definisce un'estensione CertificatePolicies che identifica i criteri in cui è stato rilasciato il certificato e gli scopi per i quali 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 di versione 2 da usare durante l'emissione o il rinnovo di un certificato. |
IX509ExtensionTemplateName | Definisce un'estensione TemplateName che identifica il modello di versione 1 da usare durante l'emissione o il rinnovo di un certificato. |
La maggior parte delle estensioni che possono essere create usando le interfacce precedenti sono definite dallo standard di sintassi X.509 versione 3. Per creare le estensioni della versione 3 per cui Microsoft non fornisce un oggetto personalizzato, è possibile usare l'interfaccia IX509Extension . Queste estensioni vengono 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 della CRL delta. 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 di 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 corrisponde ai criteri dell'autorità di certificazione emittente. Il valore dell'estensione contiene una sequenza di mapping dei criteri dell'autorità di certificazione e di certificazione subordinati rappresentati dagli identificatori di oggetto. |
PrivateKeyUsagePeriod(XCN_OID_PRIVATEKEY_USAGE_PERIOD) | Specifica un periodo di validità diverso per la chiave privata rispetto al certificato con cui è associata la chiave. |
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) | Trasmette gli attributi di identificazione, ad esempio la nazionalità sul soggetto del certificato. Il valore dell'estensione è una sequenza di coppie di valori OID. |
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 aggiungerli a un insieme IX509Extensions e usare l'insieme per inizializzare un oggetto IX509AttributeExtensions . Per altre informazioni, vedere gli argomenti PKCS #10 Extensions e CMC Extensions.For more information, see the PKCS #10 Extensions and the CMC Extensions topics.
Ereditarietà
L'interfaccia IX509Extension eredita dall'interfaccia IDispatch . IX509Extension include anche questi tipi di membri:
Metodi
L'interfaccia IX509Extension include 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 contenente il valore dell'estensione. (IX509Extension.get_RawData) |
IX509Extension::Initialize Inizializza un oggetto IX509Extension usando un identificatore di oggetto (OID) e una matrice di byte che contiene l'estensione codificata Distinguished Encoding Rules (DER). |
IX509Extension::p ut_Critical Specifica e recupera un valore booleano che identifica se l'estensione del certificato è critica. (Put) |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certenroll.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per