Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
Vb.net 发送带有X509证书的http post时设备未就绪_Vb.net_Ssl_Http Post_X509certificate - Fatal编程技术网

Vb.net 发送带有X509证书的http post时设备未就绪

Vb.net 发送带有X509证书的http post时设备未就绪,vb.net,ssl,http-post,x509certificate,Vb.net,Ssl,Http Post,X509certificate,我有一个windows应用程序,它通过HTTP post发送和接收一些XML。在Windows PC上它可以工作,但由于将其移动到测试服务器Windows 2008 r2,我在加载证书时遇到设备未就绪错误 错误有点模糊,显然搜索是一些非常模糊的结果。有人见过这个吗?代码在Dim证书处中断 证书已安装并可导出。感谢您的建议 Dim SendPropertyUri As String = "http://post.url" Dim request As HttpWebRequest Dim byte

我有一个windows应用程序,它通过HTTP post发送和接收一些XML。在Windows PC上它可以工作,但由于将其移动到测试服务器Windows 2008 r2,我在加载证书时遇到设备未就绪错误

错误有点模糊,显然搜索是一些非常模糊的结果。有人见过这个吗?代码在Dim证书处中断

证书已安装并可导出。感谢您的建议

Dim SendPropertyUri As String = "http://post.url"
Dim request As HttpWebRequest
Dim byteData() As Byte
Dim postStream As Stream = Nothing
request = DirectCast(WebRequest.Create(SendPropertyUri), HttpWebRequest)
Dim certificate As New X509Certificate("D:\Processor\certificates\mycert.p12", "password")
request.ClientCertificates.Add(certificate)
request.Method = "POST"
request.ContentType = "application/xml"
request.Accept = "application/xml"
byteData = UTF8Encoding.UTF8.GetBytes(foo.OuterXml)
request.ContentLength = byteData.Length
postStream = request.GetRequestStream()
postStream.Write(byteData, 0, byteData.Length)
postStream.Close()

经过一些研究,通过安装IIS6兼容组件解决了这个问题。不确定到底是什么原因导致了问题,但在安装IIS6管理控制台后,它工作正常

只是回答,因为错误是模糊的,所以可能会帮助其他人或给他们一个起点