apache VFS2上的 IIS证书无法恢复KEY SSL



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

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

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

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

  • 使用KeyStore资源管理器创建了一个全新的JKS KeyStore与密钥相同的密码.

  • 将密钥导入到keystore中与存储相同的密码

现在,与VFS2当我试图使FTPS连接,我有一个例外:

UnrecoverableKeyException: Cannot recover key

就像互联网上说的,当密钥库和密钥密码不相同时,会出现一个例外。我已经检查并重新创建了200次存储和密钥,密码是一样的。

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

不要从iis中导出证书,请尝试从证书存储中导出证书:

  1. 运行mmc.exe
  2. 点击"控制台"菜单,然后点击"添加/删除管理单元"。
  3. 点击"添加"按钮,然后选择"证书"管理单元,点击"添加"。
  4. 选择"计算机帐户",然后单击"下一步"。
  5. 选择"本地计算机",然后点击"确定"。点击"关闭",然后点击"确定"。
  6. 展开"证书"菜单,点击"个人"文件夹。
  7. 右键单击要导出的证书并选择'All tasks' ->"出口"。
  8. 将出现向导。请确保选中包含私钥的复选框,并继续执行此向导,直到生成。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服务器。

最新更新