registroCustomPKCS10
L'esempio enrollCustomPKCS10 crea una richiesta PKCS #10 personalizzata, la invia a un'autorità di certificazione autonoma (CA) e installa il certificato emesso nell'archivio certificati. Una CA autonoma non richiede Active Directory e non usa modelli.
Posizione
Quando si installa Microsoft Windows Software Development Kit (SDK), l'esempio viene installato, per impostazione predefinita, nella cartella %ProgramFiles%\Microsoft SDK\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollmentCustomPKCS10.
Discussione
Esempio diregistrazioneCustomPKCS10:
- Elabora gli argomenti della riga di comando. La riga di comando deve contenere il nome soggetto del certificato X.500, il nome dell'indirizzo di posta elettronica (RFC822) e un identificatore di oggetto EKU (Enhanced Key Usage) (OID). Ad esempio, è possibile specificare gli argomenti seguenti per registrare user1@example.com:
- Nome soggetto: "CN=user1,DC=example,DC=com"
- Nome RFC822: user1@example.com
- Autenticazione client EKU OID: 1.3.6.1.5.5.7.3.2
- Crea un oggetto IX509CertificateRequestPkcs10 e lo inizializza per l'utente finale specificando il valore ContextUser dell'enumerazione X509CertificateEnrollmentContext .
- Crea un oggetto IX500DistinguishedName , usa l'oggetto per codificare il nome dell'oggetto in una matrice di byte e aggiunge la matrice all'oggetto richiesta PKCS #10.
- Crea un oggetto IObjectId , inizializzandolo usando l'identificatore dell'oggetto EKU (OID) specificato nella riga di comando, crea un insieme IObjectIds , aggiunge il nuovo oggetto IObjectId (EKU) all'insieme, usa l'insieme per inizializzare un oggetto IX509ExtensionEnhancedKeyUsage e aggiunge questo oggetto alla richiesta.
- Crea un oggetto IAlternativeName , lo inizializza usando il nome RFC822 specificato nella riga di comando, Crea un insieme IAlternativeNames , aggiunge il nuovo oggetto IAlternativeName (RFC822 name ) all'insieme, crea un oggetto IX509ExtensionAlternativeNames e aggiunge questo oggetto alla richiesta.
- Crea un oggetto IX509Enrollment , lo inizializza usando l'oggetto IX509CertificateRequestPkcs10 e recupera una stringa contenente una richiesta con codifica base64.
- Crea un oggetto ICertConfig e lo usa per recuperare una stringa contenente la configurazione della CA.
- Crea un oggetto CryptoAPI ICertRequest2 e lo usa più le stringhe che contengono la configurazione della CA e la richiesta di certificato per inviare la richiesta alla CA.
- Controlla lo stato di invio e, se la registrazione ha esito positivo, installa il certificato nell'archivio certificati.
Argomenti correlati