IIS 中的中央证书存储问题:导入使用 OpenSSL 3.0.7 创建的 .pfx 时出现“错误数据”错误

问题描述 投票:0回答:1

我尝试将 IIS 中的中央证书存储 (CCS) 与使用 OpenSSL 3.0.7 生成的 .pfx 文件结合使用。但是,当 IIS 中央证书存储尝试导入 .pfx 文件时,我收到“错误数据”错误。

详情:

OpenSSL 版本:3.0.7(库:OpenSSL 3.0.7 2022 年 11 月 1 日)

openssl pkcs12 -export -out /certificates/mydomain.com.pfx -inkey /etc/letsencrypt/live/mydomain.com/privkey.pem -in /etc/letsencrypt/live/mydomain.com/cert.pem -certfile /etc/letsencrypt/live/mydomain.com/fullchain.pem -passout pass:MYPASSWORD -nomac -legacy

问题:

当中央证书存储看到 .pfx 文件时,IIS 管理器会显示“错误数据”错误。

还有其他主题建议使用

openssl pkcs12 -export -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -nomac -out

这会导致错误

我尝试过包含以下命令选项的所有组合

-certpbe PBE-SHA1-3DES 
-keypbe PBE-SHA1-3DES 
-nomac
-legacy

所有结果都导致相同的错误“错误数据”

不使用这些选项

  openssl pkcs12 -export -out /certificates/mydomain.com.pfx -inkey /etc/letsencrypt/live/mydomain.com/privkey.pem -in /etc/letsencrypt/live/mydomain.com/cert.pem -certfile /etc/letsencrypt/live/mydomain.com/fullchain.pem -passout pass:MYPASSWORD

导致错误“指定的私钥密码不正确”

iis openssl
1个回答
0
投票

“错误数据”错误和“指定的私钥密码不正确”错误表明 IIS 可能与 OpenSSL 3.0.7 使用的默认加密方法不兼容。

您可以尝试以下一些步骤来解决此问题:

  • 在 OpenSSL 中使用兼容性标志

    由于 IIS 可能对 OpenSSL 3.0.x 中默认使用的加密算法存在问题,因此您可以尝试使用强制执行旧加密方法的兼容性标志。这是一个应该有效的命令:

    openssl pkcs12 -export -out /certificates/mydomain.com.pfx -inkey /etc/letsencrypt/live/mydomain.com/privkey.pem -in /etc/letsencrypt/live/mydomain.com/cert.pem -certfile /etc/letsencrypt/live/mydomain.com/fullchain.pem -passout pass:MYPASSWORD -legacy -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -nomac
    
  • 使用不同版本的 OpenSSL

    如果上述方法不起作用,您可以尝试使用旧版本的 OpenSSL(例如 1.1.1)生成 .pfx 文件,众所周知,该版本与 IIS 更兼容:

    1. 在您的系统上安装 OpenSSL 1.1.1(如果尚未安装)。

    2. 使用以下命令生成 .pfx 文件:

      openssl pkcs12 -export -out /certificates/mydomain.com.pfx -inkey /etc/letsencrypt/live/mydomain.com/privkey.pem -in /etc/letsencrypt/live/mydomain.com/cert.pem -certfile /etc/letsencrypt/live/mydomain.com/fullchain.pem -passout pass:MYPASSWORD
      
© www.soinside.com 2019 - 2024. All rights reserved.