使用自签名证书通过 BizTalk 对传出的 AS2 消息进行签名时出现错误
MIME 编码器未能签署消息,因为证书已打开私钥保护......”
有一个建议
请禁用私钥保护以允许 BizTalk 使用证书进行签名。
如何禁用私钥保护?
使用 Windows Server 2012 R2 和 BizTalk Server 2016。
使用 Powershell New-SelfSignedCertificate 创建的自签名证书。
使用自签名证书通过 BizTalk 对传出的 AS2 消息进行签名时出现错误
MIME 编码器未能签署消息,因为证书已打开私钥保护......”
有一个建议
请禁用私钥保护以允许 BizTalk 使用证书进行签名。
如何禁用私钥保护?
使用 Windows Server 2012 R2 和 BizTalk Server 2016。
使用 Powershell New-SelfSignedCertificate 创建的自签名证书。
我只是遇到了同样的问题,并且提供的解决方案(加载用户配置文件,未在导入中选择强私钥保护)都不起作用。当我遇到这个旧链接时,我终于解决了: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" ...