Recebendo o certificado retornado
Quando a AC (autoridade de certificação) verificou as informações de identidade do solicitante e está satisfeita de que o solicitante é o proprietário da chave privada e que os dados sobre esse solicitante são precisos, a AC constrói um certificado X.509, assina-o, empacota-o com quaisquer outros certificados necessários (como o próprio certificado da AC) em uma mensagem, e envia a mensagem ao solicitante. A mensagem pode ser uma mensagem PKCS nº 7 ou uma resposta CMC (modelos V2 resultam em uma resposta CMC).
O aplicativo de recebimento passa a mensagem para o Controle de Registro de Certificado. Em seguida, o Controle de Registro de Certificado abre a mensagem e extrai os certificados. O usuário é solicitado com uma caixa de diálogo perguntando se o usuário aceitará certificados autoassinados no repositório "Raiz". Se o usuário aceitar o certificado raiz, o restante dos certificados (exceto o certificado do solicitante) será colocado no repositório "CA". O certificado do solicitante é colocado no repositório de certificados especificado pelo solicitante na propriedade MyStoreName .
O exemplo a seguir mostra como usar o Visual Basic Scripting Edition (VBScript) e o HTML em uma página da Web para receber e armazenar os certificados retornados.
<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>