实施瑞典语Swish付款 - C# - 无法创建SSL / TLS安全通道 - 证书签名请求

时间:2017-05-24 09:18:08

标签: c# security ssl iis swish

如此问题所述,我可以使用他们的测试帐户和测试证书与Swish联系。

C# HttpClient with X509Certificate2 - WebException: The request was aborted: Could not create SSL/TLS secure channel

但是,当使用我自己生成的证书时,我仍然使用C#HttpClient获得通用错误Could not create SSL/TLS secure channel

我一直在关注这些Swish证书管理指南:

https://www.getswish.se/content/uploads/2015/11/Guide-Certifikatsadministration_20151210.pdf

https://www.getswish.se/content/uploads/2015/06/Guide-Swish-API-170324-utan-%C3%A4ndringsmarkering.pdf

由于我们使用的是IIS,因此我使用以下代码创建了证书签名请求:IIS -> Server Certificates -> Create Certificate Request…。我选择Microsoft RSA Schannel Cryptographic Provider,其长度为2048,因为文档说它应该是PKCS#10 with 2048-bit RSA key。我的理论是我在这里做错了。由于我们现在正在开发此应用程序并且该应用程序未在域名上运行,因此我将Common Name设置为localhost。这可能是问题吗?如果是这样的话,我应该把它放在那里以便在我们的环境中工作?如前所述,测试证书没有问题。

在此之后,我粘贴了在服务https://getswishcert.bankgirot.se/创建的文件中的值并获得了一个PKCS#7文件(.p7b,也尝试使用.pem)。

然后我要IIS -> Server Certificates -> Complete Certificate Request…导入文件。

导入Certification Path时,其他一切看起来都很好。 enter image description here enter image description here

我还尝试通过.pfx将证书导出到MMC -> Select certificate -> right click -> All Tasks -> Export。选择使用私钥和密码保护导出它。然后在Certificates - Current User下导入它。然后,我可以在Chrome中选择证书,但我收到错误“ERR_SSL_PROTOCOL_ERROR”。测试证书也适用于Chrome。

1 个答案:

答案 0 :(得分:0)

证明证书没问题。问题是应用程序尝试使用实时证书而不是https://mss.swicpc.bankgirot.se/(实时)连接到https://swicpc.bankgirot.se/(测试环境)。

发现来自here的记录。