返された証明書の受信
証明機関 (CA) が要求者の ID 情報を検証し、要求者が秘密キーの所有者であり、その要求者に関するデータが正確であることを確認すると、CA は X.509 証明書を構築し、署名し、メッセージ内の他の必要な証明書 (CA 独自の証明書など) と共にパッケージ化します。 と は、要求者にメッセージを送信します。 メッセージには、PKCS #7 メッセージまたは CMC 応答を指定できます (V2 テンプレートは CMC 応答になります)。
受信側のアプリケーションは、メッセージを証明書登録コントロールに渡します。 次に、証明書登録コントロールによってメッセージが開き、証明書が抽出されます。 ユーザーは、"ルート" ストアで自己署名証明書を受け入れるかどうかを確認するダイアログ ボックスが表示されます。 ユーザーがルート証明書を受け入れると、残りの証明書 (要求者の証明書を除く) が "CA" ストアに配置されます。 要求者の証明書は、要求者が MyStoreName プロパティで指定した証明書ストアに配置されます。
次の例は、Web ページで 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>