微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决apache VFS2 上的 IIS 证书无法恢复 KEY SSL

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

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

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

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

然后

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

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

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

UnrecoverableKeyException:无法恢复密钥

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

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

解决方法

尝试从证书存储中导出证书,而不是从 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服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?