Внедрение шведского платежа Swish - C# - Не удалось создать безопасный канал SSL/TLS - Запрос на подпись сертификата

Как описано в этом вопросе, я могу подключиться к Swish, используя их тестовую учетную запись и тестовый сертификат.

C# HttpClient с X509Certificate2 - WebException: запрос был прерван: не удалось создать безопасный канал SSL/TLS

Однако при использовании моего собственного сгенерированного сертификата я все еще получаю общую ошибку Could not create SSL/TLS secure channel используя C# HttpClient.

Я следовал этим инструкциям по администрированию сертификатов 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 и все остальное выглядит хорошо, насколько я могу судить.

Я также попытался экспортировать сертификат в .pfx с помощью MMC -> Select certificate -> right click -> All Tasks -> Export, Выберите экспорт с закрытым ключом и паролем. Затем импортировать его под Certificates - Current User, Затем я могу выбрать сертификат в Chrome, но получаю ошибку `ERR_SSL_PROTOCOL_ERROR. Тестовый сертификат работает и в Chrome.

1 ответ

Решение

Оказалось, сертификат был в порядке. Проблема заключалась в том, что приложение пыталось подключиться к https://mss.swicpc.bankgirot.se/ (тестовая среда) с действующим сертификатом вместо https://swicpc.bankgirot.se/ (жить).

Нашел с логированием отсюда.

Другие вопросы по тегам