Windows 7 に 3 つのクライアント証明書がインストールされており、特定の証明書を使用して、VBA を使用して ServerXMLHTTP60 呼び出しを認証する必要があります。
証明書のフレンドリ名を使用して ServerXMLHTTP60.SetOption を呼び出すと、エラーなしで返されます。しかし、その後の .send は「クライアント認証を完了するには証明書が必要です」で失敗します。
コード例:
Public Sub TestCert()
Dim myHTTP as New ServerXMLHTTP60
Dim myURL as String
' Open the connection to the secure server
myHTTP.Open "GET", "https://server/finalpath", False
' Attempt to set the correct client certificate
' I have also tried just the friendly name as well as
' LOCAL_MACHINE\My\cert friendly name'
myHTTP.SetOption 3, "CURRENT_USER\My\cert friendly name"
' Send request fails with "A certificate is required ..."
myHTTP.Send
End Sub
指定された証明書は、このサイトで IE または Firefox 経由で正常に動作しています。証明書に間違ったパス名を使用しているに違いありません。確実に成功するために正しいクライアント証明書のパス名を特定する方法はありますか?