使用X509证书发送http帖子时设备未就绪

时间:2015-04-02 13:58:39

标签: vb.net ssl http-post x509certificate

我有一个Windows应用程序,它发送HTTP帖子以发送和接收一些XML。在Windows PC上它可以工作,但自从将它移到测试服务器(Windows 2008 r2)后,我在加载证书时出现“设备未就绪”错误。

错误有点模糊,显然搜索结果非常模糊。有人遇到过这个吗?代码在Dim Certificate ....

中断

证书已安装并可导出。感谢任何建议。

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

1 个答案:

答案 0 :(得分:0)

经过一些研究后,通过安装IIS6兼容性组件解决了这个问题。不确定究竟是什么导致了问题,但在安装IIS6管理控制台后,它没有问题。

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