Empfangen des zurückgegebenen Zertifikats
Wenn die Zertifizierungsstelle (Ca) die Identitätsinformationen des Anforderers überprüft hat und sich vergewissert hat, dass der Anforderer der Besitzer des privaten Schlüssels ist und dass die Daten zu diesem Anforderer korrekt sind, erstellt die Zertifizierungsstelle ein X.509-Zertifikat, signiert es, packt es mit allen anderen erforderlichen Zertifikaten (z. B. dem eigenen Zertifikat der Zertifizierungsstelle) in einer Nachricht. und sendet die Nachricht an den Anfordernden. Die Nachricht kann eine PKCS # 7-Nachricht oder eine CMC-Antwort sein (V2-Vorlagen führen zu einer CMC-Antwort).
Die empfangende Anwendung übergibt die Nachricht an die Zertifikatregistrierungssteuerung. Die Zertifikatregistrierungssteuerung öffnet dann die Nachricht und extrahiert die Zertifikate. Der Benutzer wird mit einem Dialogfeld aufgefordert, in dem er gefragt wird, ob er selbstsignierte Zertifikate im Stammspeicher akzeptiert. Wenn der Benutzer das Stammzertifikat akzeptiert, werden die restlichen Zertifikate (mit Ausnahme des Zertifikats des Anfordernden) im Speicher der Zertifizierungsstelle abgelegt. Das Zertifikat des Anfordernden wird in dem Zertifikatspeicher platziert, der vom Anfordernden in der MyStoreName-Eigenschaft angegeben wird.
Das folgende Beispiel zeigt, wie sie die Visual Basic Scripting Edition (VBScript) und HTML auf einer Webseite verwenden, um die zurückgegebenen Zertifikate zu empfangen und zu speichern.
<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>