如此问题所述,我可以使用他们的测试帐户和测试证书与Swish联系。
但是,当使用我自己生成的证书时,我仍然使用C#HttpClient获得通用错误Could not create SSL/TLS secure channel
。
我一直在关注这些Swish证书管理指南:
https://www.getswish.se/content/uploads/2015/11/Guide-Certifikatsadministration_20151210.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
时,其他一切看起来都很好。
我还尝试通过.pfx
将证书导出到MMC -> Select certificate -> right click -> All Tasks -> Export
。选择使用私钥和密码保护导出它。然后在Certificates - Current User
下导入它。然后,我可以在Chrome中选择证书,但我收到错误“ERR_SSL_PROTOCOL_ERROR”。测试证书也适用于Chrome。
答案 0 :(得分:0)
证明证书没问题。问题是应用程序尝试使用实时证书而不是https://mss.swicpc.bankgirot.se/
(实时)连接到https://swicpc.bankgirot.se/
(测试环境)。
发现来自here的记录。