Flu*_*ike 47 openssl certificate windows-server-2012
它在 Windows 10 上工作正常,但当我尝试在 Windows Server 2012 上导入相同的 .pfx 文件时,它失败并显示消息“您输入的密码不正确”。
我使用 OpenSSL 3.0.0 创建证书、私钥和 .pfx 文件。我确信我使用了正确的密码。
有什么原因导致我无法在 Windows Server 2012 上导入 .pfx 文件吗?
Tay*_*nan 84
我在使用 OpenSSL 3 和 Windows Server 2012 R2 时遇到了同样的问题。然而,我最终组合了正确的参数组合。这似乎有效:
openssl pkcs12 -export -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -nomac -inkey contoso.com.key -in contoso.com.crt -out contoso.com-legacy.pfx
Run Code Online (Sandbox Code Playgroud)
Flu*_*ike 30
事实证明,OpenSSL 3.0.0在导出 .pfx 文件时默认使用 AES256来加密私钥。
根据此论坛帖子,旧版本的 Windows 显然不支持 AES256。
当我尝试使用 OpenSSL 1.1.1 创建 .pfx 文件时,它工作正常。这显然是因为OpenSSL 1.1.1 在导出 .pfx 文件时默认使用 TrippleDES来加密私钥。
jca*_*ron 23
在尝试生成 .pfx 并将其导入 Windows Server 2012 R2 时偶然发现了同样的问题,而涉及-certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES
和/或的其他答案和评论-nomac
对我不起作用。
最终对我有用的是使用该-legacy
选项。
从联机帮助页:
-遗产
使用旧版操作模式并自动加载旧版提供程序。如果 OpenSSL 未在系统范围内安装,则还需要使用“-provider-path ./providers”或设置环境变量 OPENSSL_MODULES 以指向可以找到提供程序的目录。
在旧模式下,证书加密的默认算法是 RC2_CBC 或 3DES_CBC,具体取决于构建中是否启用 RC2 密码。私钥加密的默认算法是 3DES_CBC。如果未指定旧选项,则不会加载旧提供程序,并且证书和私钥的默认加密算法是 AES_256_CBC,并使用 PBKDF2 进行密钥派生。
小智 5
对于那些仍然因为同样的问题而将头撞在墙上的人。我愚蠢的银行开始颁发这些受密码保护的 AES256 证书。它采用 .pfx 文件的形式。您可以猜测旧版本的 Windows(如 Windows 7)无法导入该版本,并且错误也很令人困惑:“密码不正确”。
解决方案:将 .pfx 导入较新版本的 Windows(例如 Windows 10)。这个很重要。导入时,将证书标记为可导出。这允许您随后使用较旧的 Triple-DES-SHA1 算法导出证书或/并且无需密码来保护密钥。然后导入到您的旧系统中。干杯。
归档时间: |
|
查看次数: |
76395 次 |
最近记录: |