Réception du certificat retourné
Lorsque l’autorité de certification a vérifié les informations d’identité du demandeur et est convaincue que le demandeur est le propriétaire de la clé privée et que les données relatives à ce demandeur sont exactes, l’autorité de certification construit un certificat X.509, le signe et le package avec tous les autres certificats nécessaires (tels que le propre certificat de l’autorité de certification) dans un message, et envoie le message au demandeur. Le message peut être un message PKCS #7 ou une réponse CMC (les modèles V2 aboutissent à une réponse CMC).
L’application de réception transmet le message au contrôle d’inscription de certificat. Le contrôle d’inscription de certificat ouvre ensuite le message et extrait les certificats. L’utilisateur est invité à entrer une boîte de dialogue demandant si l’utilisateur acceptera les certificats auto-signés dans le magasin « Racine ». Si l’utilisateur accepte le certificat racine, les autres certificats (à l’exception du certificat du demandeur) sont placés dans le magasin « CA ». Le certificat du demandeur est placé dans le magasin de certificats spécifié par le demandeur dans la propriété MyStoreName .
L’exemple suivant montre comment utiliser Visual Basic Scripting Edition (VBScript) et HTML dans une page web pour recevoir et stocker les certificats retournés.
<HTML>
<TITLE>Certificate Enrollment Acceptance HTML Page
</TITLE>
<OBJECT classid="clsid:127698E4-E730-4E5C-A2b1-21490A70C8A1"
CODEBASE="xenroll.dll"
id=IControl >
</OBJECT>
<SCRIPT language="VBScript">
<!--
Option Explicit
'Accept the certificate subroutine.
Sub AcceptCertSub
On Error Resume Next
' Get the issued certificate.
' The following value, "PKCS7", represents the received message.
' Actually, this value must be supplied through the design of
' the receiving application.
' A possible implementation is as follows: after using
' ICertRequest.Submit to submit the PKCS #10, call
' ICertRequest.GetLastStatus to confirm successful certificate
' creation, and then call ICertRequest.GetCertificate to retrieve
' the certificate.
document.result.result.value = "PKCS7"
Call IControl.AcceptPKCS7(document.result.result.value)
If err.Number = 0 Then
navigate "..\done.htm"
Else
Alert "Error: " & Hex(err)
End If
End sub
' Decline the certificate sub-routine.
Sub NoAcceptCertSub
navigate "..\notdone.htm"
End sub
-->
</SCRIPT>
</BODY>
</HTML>