Empfangen des zurückgegebenen Zertifikats
Wenn die Zertifizierungsstelle die Identitätsinformationen des Anforderers überprüft hat und davon überzeugt ist, dass der Anforderer der Besitzer des privaten Schlüssels ist und dass die Daten über diesen Anforderer korrekt sind, erstellt die Zertifizierungsstelle ein X.509-Zertifikat, signiert es und verpackt es mit allen anderen erforderlichen Zertifikaten (z. B. dem eigenen Zertifikat der Zertifizierungsstelle) in einer Nachricht, und sendet die Nachricht an den Anforderer. 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 das Zertifikatregistrierungssteuerelement. Das Zertifikatregistrierungssteuerelement öffnet dann die Nachricht und extrahiert die Zertifikate. Der Benutzer wird mit einem Dialogfeld gefragt, ob der Benutzer selbstsignierte Zertifikate im Stammspeicher akzeptiert. Wenn der Benutzer das Stammzertifikat akzeptiert, werden die restlichen Zertifikate (mit Ausnahme des Zertifikats des Anforderers) im Speicher der Zertifizierungsstelle platziert. Das Zertifikat des Anforderers wird in dem vom Anforderer in der MyStoreName-Eigenschaft angegebenen Zertifikatspeicher platziert.
Das folgende Beispiel zeigt, wie Sie 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>