Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 Winhttp和p12证书_Vb6_Ssl Certificate_Winhttp_Winhttpcertcfg - Fatal编程技术网

Vb6 Winhttp和p12证书

Vb6 Winhttp和p12证书,vb6,ssl-certificate,winhttp,winhttpcertcfg,Vb6,Ssl Certificate,Winhttp,Winhttpcertcfg,我正在用VB6编写一个客户端程序,它将通过HTTP连接到服务器。 运行服务器的公司向我提供了一个名为SomeCertificate.p12的证书文件 我的程序在Windows XP上运行。这是客户正在使用的操作系统 我正在试图找到在向服务器发送请求时如何使用此证书 以下是我迄今为止所做的工作: 已将证书文件复制到我的测试计算机 使用InternetExplorerV8,我做了“工具| Internet选项|内容|证书|受信任的根权限”并导入了证书 已安装winhttpcertcfg工具 从命令提

我正在用VB6编写一个客户端程序,它将通过HTTP连接到服务器。 运行服务器的公司向我提供了一个名为SomeCertificate.p12的证书文件

我的程序在Windows XP上运行。这是客户正在使用的操作系统

我正在试图找到在向服务器发送请求时如何使用此证书

以下是我迄今为止所做的工作:

  • 已将证书文件复制到我的测试计算机
  • 使用InternetExplorerV8,我做了“工具| Internet选项|内容|证书|受信任的根权限”并导入了证书
  • 已安装winhttpcertcfg工具
  • 从命令提示符运行以下命令:

    “winhttpcertcfg-i SomeCertificate.p12-c LOCAL\u MACHINE\My-a COMPUTERNAME\USERNAME-p PasswordFromServerCompany”

  • 输出是这样的。我用伪字符串替换了不同的令牌:

    进口证书:

    CN=string1

    OU=string2

    O=string3

    L=4

    C=5

    已为帐户授予私钥访问权限: 计算机名\用户名

  • 我的VB6代码如下所示:

    私有,事件m_ServerObj作为WinHttpRequest 设置m_ServerObj=New WinHttpRequest m_ServerObj.打开“获取”

    调用m\u ServerObj.SetClientCertificate(“本地\u机器\Personal\SomeCertificate”)

    m_ServerObj.Send TextToSend

  • 发送调用导致异常: “完成客户端身份验证需要证书”

    我在SetClientCertificate调用中尝试了不同的字符串,但始终出现相同的错误

    我非常感谢任何帮助和提示。我做错了什么?我的代码错了吗?我是否错误地使用了winhttpcertcfg


    谢谢。

    服务器公司给我发了一个.PEM证书来安装。一旦我这样做了,问题就解决了。
    谢谢。

    我现在正在使用VB6这一事实应该无关紧要。该程序使用的是Windows winhttp.dll,一个COM对象。我本来可以使用C++,但仍然有同样的问题。