【问题标题】:IIS Certificate on apache VFS2 cannot recover KEY SSLapache VFS2 上的 IIS 证书无法恢复 KEY SSL
【发布时间】:2021-06-04 02:15:35
【问题描述】:

我正在构建一个应用程序,使用 VFS2 通过 IIS 服务器上的 FTPS 进行通信。

出于测试目的,我在 IIS 服务器上创建了一个自签名证书。目前,我可以通过 Winscp 和 FileZilla 进行连接。

然后我从 IIS 导出私钥和证书

  • 右键单击证书
  • 是的,我想导出私钥
  • 设置密码并导出为 PFX 文件。

然后

  • 使用 KeyStore explorer 创建了一个全新的 JKS KeyStore 与密钥相同的密码

  • 将密钥导入密钥库 与商店密码相同

现在,当我尝试建立 FTPS 连接时,使用 VFS2,我遇到了一个异常:

UnrecoverableKeyException: 无法恢复密钥

正如互联网所说,当密钥库和密钥密码不同时会发生异常。 我已经检查并重新创建了 store 和 key 200 次,密码都是一样的。

我在整个过程中做错了吗?

【问题讨论】:

    标签: java ssl iis certificate ftps


    【解决方案1】:

    尝试从证书存储中导出证书,而不是从 iis 导出证书:

    1. 运行 mmc.exe
    2. 单击“控制台”菜单,然后单击“添加/删除管理单元”。
    3. 单击“添加”按钮,然后选择“证书”管理单元并单击“添加”。
    4. 选择“计算机帐户”,然后单击“下一步”。
    5. 选择“本地计算机”,然后单击“确定”。
    6. 点击“关闭”,然后点击“确定”。
    7. 展开“证书”菜单并点击“个人”文件夹。
    8. 右键单击要导出的证书并选择“所有任务”->“导出”。
    9. 将出现一个向导。确保选中该框以包含私钥并继续执行此向导,直到获得 .PFX 文件。

    接下来运行 openssl 以提取私钥和证书文件。

    提取私钥:

    从 .PFX 文件中导出私钥文件。

    openssl pkcs12 -in filename.pfx -nocerts -out key.pem
    

    提取证书文件:

    从 .PFX 文件中导出证书文件。

    openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
    

    删除密码:

    此命令会从私钥中删除密码,因此 Apache 在启动时不会提示您输入密码。

    openssl rsa -in key.pem -out server.key
    

    确保您的 apache 虚拟主机配置文件中存在以下行并且它们是正确的:

    SSLEngine on
    SSLOptions +StrictRequire
    SSLCertificateFile /path/to/certificate/cert.pem
    SSLCertificateKeyFile /patch/to/key/server.key
    

    完成所有配置更改后重新启动 apache 服务器。

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 1970-01-01
      • 2017-10-31
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 2017-08-14
      相关资源
      最近更新 更多