从MSExcel调用SSL启用的服务?

时间:2009-09-10 13:35:13

标签: web-services excel-vba vba excel

我在Web Sphere中部署了Web服务,并且此服务已启用SSL。我必须从ms excel调用此服务。我正在使用MSSOAPLib.SoapClient来调用我的Web服务。当我运行此宏时,我收到与安全相关的错误。也就是说,公钥应该存储在客户端密钥库中。请让我知道如何做到这一点。

另外请帮我找到存放此密钥的窗口位置?

我看过Stackoverflow的类似帖子,但这些解决方案无效。

1 个答案:

答案 0 :(得分:0)

听起来您在网络服务器上使用自签名(或其他不受信任的)证书。您需要在客户端本地安装CA证书并信任它,或者切换Web服务器以使用由“开箱即用”信任的商业CA颁发的“真实”证书。前者适合开发,但如果你有很多客户,那么为每个人做这件事真的很痛苦。

为当前用户安装CA证书的最简单方法是导航到Internet Explorer中的目标URL(必须是IE,而不是Firefox-FF有自己的证书存储区),忽略它为您提供的任何证书警告。单击地址栏附近的“锁定”(假设IE7或8),点击“查看证书”,然后转到“证书路径”选项卡。如果链中列出了多个证书,请双击最上面的证书 - 如果没有,只需返回“常规”选项卡(在这种情况下,您已经在根证书上)。单击“安装证书”,然后单击导入向导。现在尝试你的webservice客户端 - 它不应该因服务器安全性而失败(除非还有其他事情发生)。如果它仍然无效,请尝试安装Fiddler并观察SSL协商 - 您可以看到它可能失败的原因(无效的证书日期等)。您有时可以调整生成的VBA客户端以解决这些问题,但是,如果您正在为生产应用程序执行此操作,最好只在服务器上使用真实有效的证书。