Condividi tramite


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:

  1. 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
  2. Crea un oggetto IX509CertificateRequestPkcs10 e lo inizializza per l'utente finale specificando il valore ContextUser dell'enumerazione X509CertificateEnrollmentContext .
  3. 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.
  4. 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.
  5. 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.
  6. Crea un oggetto IX509Enrollment , lo inizializza usando l'oggetto IX509CertificateRequestPkcs10 e recupera una stringa contenente una richiesta con codifica base64.
  7. Crea un oggetto ICertConfig e lo usa per recuperare una stringa contenente la configurazione della CA.
  8. 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.
  9. Controlla lo stato di invio e, se la registrazione ha esito positivo, installa il certificato nell'archivio certificati.

Richiesta PKCS #10

Uso degli esempi inclusi