接收傳回的憑證
當憑證授權單位單位 (CA) 已驗證要求者的身分識別資訊,並滿足要求者是私密金鑰的擁有者,且該要求者的相關資料正確時,CA 會建構 X.509 憑證、簽署它、將它封裝成任何其他所需的憑證 (,例如 CA 的憑證) 訊息中) 。 並將訊息傳送給要求者。 訊息可以是 PKCS #7 訊息或 CMC 回應, (V2 範本會導致 CMC 回應) 。
接收應用程式會將訊息傳遞至憑證註冊控制。 接著,憑證註冊控制項會開啟訊息並擷取憑證。 系統會提示使用者出現對話方塊,詢問使用者是否接受「根」存放區中的自我簽署憑證。 如果使用者接受根憑證,則除了要求者的憑證) 以外,其餘的憑證 (會放在「CA」 存放區中。 要求者的憑證會放在 MyStoreName 屬性中要求者所指定的憑證存放區中。
下列範例示範如何在網頁中使用 Visual Basic Scripting Edition (VBScript) 和 HTML 來接收及儲存傳回的憑證。
<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>