Отключить защиту закрытого ключа
При использовании самозаверяющего сертификата для подписи исходящих сообщений AS2 с BizTalk, я получаю ошибку
Кодировщику MIME не удалось подписать сообщение, поскольку в сертификате включена защита закрытого ключа..."
с предложением
отключите защиту закрытого ключа, чтобы BizTalk мог использовать сертификат для подписи.
Как отключить защиту закрытого ключа?
Использование Windows Server 2012 R2 и BizTalk Server 2016.
Самозаверяющий сертификат, созданный с помощью Powershell New-SelfSignedCertificate.
2 ответа
У меня просто была такая же проблема, и ни одно из предложенных решений (загрузка профиля пользователя, не выбор сильной защиты закрытого ключа при импорте) не сработало. Я наконец решил ее, когда наткнулся на эту старую ссылку: http://www.semaphoremd.com/2014/05/23/cryptographic-provider-for-digital-certificate-used-by-as2-in-biztalk. В основном проблема заключается в том, что Biztalk 2016 по-прежнему опирается на древний.NET 3.5, в котором отсутствует поддержка KSP. Проверьте сертификат:
certutil -p <password> cert.pfx
Если это говорит Provider = Microsoft Software Key Storage Provider
тогда Biztalk потерпит неудачу и пожалуется на защиту закрытого ключа. Исправьте это с помощью openssl:
openssl pkcs12 -in my-original-cert.pfx -out temp.pem
openssl pkcs12 -export -in temp.pem -out my-fixed-cert.pfx
Импортировать my-fixed-cert.pfx
в хранилище личных сертификатов (и, если он самозаверяющий, также импортировать как ключ CA). Обновите Biztalk, чтобы использовать обновленный сертификат, и, надеюсь, проблема должна быть решена.
РЕДАКТИРОВАТЬ:
Если вы начинаете с нуля, укажите старого провайдера:
New-SelfSignedCertificate -Provider "Microsoft Strong Cryptographic Provider" ...