实施瑞典 Swish 支付 - C# - 无法创建 SSL/TLS 安全通道 - 证书签名请求
Implementing Swedish Swish payment - C# - Could not create SSL/TLS secure channel - Certificate signing request
如这个问题中所述,我可以使用他们的测试帐户和测试证书连接 Swish。
然而,当使用我自己生成的证书时,我仍然遇到一般性错误 Could not create SSL/TLS secure channel
使用 C# HttpClient。
我一直在遵循这些 Swish 证书管理指南:
https://www.getswish.se/content/uploads/2015/11/Guide-Certifikatsadministration_20151210.pdf
由于我们使用的是 IIS,因此我使用以下方法创建了证书签名请求:IIS -> Server Certificates -> Create Certificate Request…
。我选择位长度为 2048 的 Microsoft RSA Schannel Cryptographic Provider
,因为文档说它应该是 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
时,据我所知,其他一切看起来都不错。
我还尝试通过 MMC -> Select certificate -> right click -> All Tasks -> Export
将证书导出到 .pfx
。选择使用私钥和密码保护导出它。然后在 Certificates - Current User
下导入它。然后我可以在 Chrome 中选择证书,但我收到错误 `ERR_SSL_PROTOCOL_ERROR。测试证书也适用于 Chrome。
原来证书没问题。问题是应用程序试图使用实时证书而不是 https://swicpc.bankgirot.se/
(实时)连接到 https://mss.swicpc.bankgirot.se/
(测试环境)。
通过 here 的日志记录找到。
如这个问题中所述,我可以使用他们的测试帐户和测试证书连接 Swish。
然而,当使用我自己生成的证书时,我仍然遇到一般性错误 Could not create SSL/TLS secure channel
使用 C# HttpClient。
我一直在遵循这些 Swish 证书管理指南:
https://www.getswish.se/content/uploads/2015/11/Guide-Certifikatsadministration_20151210.pdf
由于我们使用的是 IIS,因此我使用以下方法创建了证书签名请求:IIS -> Server Certificates -> Create Certificate Request…
。我选择位长度为 2048 的 Microsoft RSA Schannel Cryptographic Provider
,因为文档说它应该是 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
时,据我所知,其他一切看起来都不错。
我还尝试通过 MMC -> Select certificate -> right click -> All Tasks -> Export
将证书导出到 .pfx
。选择使用私钥和密码保护导出它。然后在 Certificates - Current User
下导入它。然后我可以在 Chrome 中选择证书,但我收到错误 `ERR_SSL_PROTOCOL_ERROR。测试证书也适用于 Chrome。
原来证书没问题。问题是应用程序试图使用实时证书而不是 https://swicpc.bankgirot.se/
(实时)连接到 https://mss.swicpc.bankgirot.se/
(测试环境)。
通过 here 的日志记录找到。