Udostępnij przez


Odbieranie zwróconego certyfikatu

Gdy urząd certyfikacji zweryfikował informacje o tożsamości osoby żądającego i jest zadowolony, że żądający jest właścicielem klucza prywatnego i że dane dotyczące tego osoby żądające są dokładne, urząd certyfikacji tworzy certyfikat X.509, podpisuje go, pakuje je z innymi wymaganymi certyfikatami (takimi jak własny certyfikat urzędu certyfikacji) w komunikacie, i wysyła wiadomość do żądającego. Komunikat może być komunikatem PKCS #7 lub odpowiedzią CMC (szablony w wersji 2 powodują odpowiedź CMC).

Aplikacja odbierająca przekazuje komunikat do Kontroli Rejestracji Certyfikatu. Kontrolka rejestracji certyfikatów następnie otwiera komunikat i wyodrębnia certyfikaty. Użytkownikowi zostanie wyświetlone okno dialogowe z pytaniem, czy zaakceptuje certyfikaty z podpisem własnym w magazynie "Root". Jeśli użytkownik zaakceptuje certyfikat główny, pozostałe certyfikaty (z wyjątkiem certyfikatu osoby żądającej) zostaną umieszczone w magazynie "CA". Certyfikat żądającego jest umieszczany w magazynie certyfikatów we właściwości określonej przez żądającego: MyStoreName.

W poniższym przykładzie pokazano, jak używać języka Visual Basic Scripting Edition (VBScript) i kodu HTML na stronie internetowej w celu odbierania i przechowywania zwróconych certyfikatów.

<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>