如何解决apache VFS2 上的 IIS 证书无法恢复 KEY SSL
我正在使用 VFS2 构建一个应用程序,以便通过 IIS 服务器上的 FTPS 进行通信。
出于测试目的,我在 IIS 服务器上创建了一个自签名证书。目前,我可以通过 Winscp 和 FileZilla 进行连接。
然后我从 IIS 导出私钥和证书
- 右键单击证书
- 是的,我想导出私钥
- 设置密码并导出到 PFX 文件。
然后
-
使用 KeyStore explorer 创建了一个全新的 JKS KeyStore 与密钥相同的密码。
-
将密钥导入密钥库 与商店密码相同
现在,当我尝试使用 VFS2 建立 FTPS 连接时,我遇到了一个例外:
UnrecoverableKeyException:无法恢复密钥
正如互联网所说,当密钥库和密钥密码不同时会发生异常。 我已经检查并重新创建了商店和密钥 200 次,密码都一样。
我在整个过程中做错了什么吗?
解决方法
尝试从证书存储中导出证书,而不是从 iis 导出证书:
- 运行 mmc.exe
- 点击“控制台”菜单,然后点击“添加/删除管理单元”。
- 点击“添加”按钮,然后选择“证书”管理单元并点击“添加”。
- 选择“计算机帐户”,然后点击“下一步”。
- 选择“本地计算机”,然后单击“确定”。
- 点击“关闭”,然后点击“确定”。
- 展开“证书”菜单,然后点击“个人”文件夹。
- 右键单击要导出的证书,然后选择“所有任务”->“导出”。
- 将出现一个向导。确保选中包含私钥的框并继续执行此向导,直到您拥有 .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 举报,一经查实,本站将立刻删除。