Compartilhar via


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>