【发布时间】:2016-04-18 05:29:02
【问题描述】:
我一直在使用 Mono XSP4 开发一个小型 ASP 网站。对于开发和测试,我使用了一些自签名证书,这些证书是使用 makecert 创建的,并遵循http://www.mono-project.com/docs/web/using-clientcertificates-with-xsp/ 以及其他地方的说明。很长一段时间以来,这个世界上一切都很好。
我现在想使用我使用 openssl 创建的 CA 证书进行部署,遵循我的 CA 网站上的说明。 openssl 命令创建了一个 CSR 和一个私钥。我使用的命令如下:
openssl req -new -newkey rsa:2048 -nodes -keyout .key -out .csr
我已经完成了使用我的 CA 创建证书的过程,使用 CSR 生成新的 .crt 文件。我现在尝试使用新的 .crt 和我在 CSR 生成步骤中使用 OpenSSL 生成的私钥运行 XSP4,并且....好吧,XSP4 正在吐出假人。
我收到错误消息“无效的私钥密码或私钥文件 '.key' 已损坏”。
我正在运行 XSP,如下所示:
xsp4 --nonstop --https --port= --cert=.crt --pkfile=.key --pkpwd=
任何想法为什么这可能会失败?
Mono XSP4 是否支持 2048 位证书?
提前谢谢....!
【问题讨论】:
-
抱歉,我是个新手。我在这里提到的命令应该在其中读取文件名,即 openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr 和 xsp4 --nonstop --https --port= --cert= mynewcacert.crt --pkfile=mydomain.key --pkpwd=mypwd
-
更新:(1)我原来的自签名证书和密钥是二进制(.der 格式)而不是 base64 编码(.pem 格式),所以我尝试转换 .pem 格式证书和二进制的密钥,而不是使用 OpenSSL 转换 - 这没有任何区别。 (2) 我使用 OpenSSL 来“检查”新的 CA 证书(很好),CA 证书的私钥(很好)。 (3) 我还使用 OpenSSL 来“检查”自签名证书和密钥——虽然证书恢复正常,但密钥没有……OpenSSL 无法加载由 makecert 创建的私钥。所以现在想知道 OpenSSL 和 MakeCert 创建的 pkey 文件是否兼容?
-
更新:已解决。感谢joshua.perina.com/geo/post/… 指出密钥需要采用 PVK (Microsoft) 格式。使用 OpenSSL 按照social.technet.microsoft.com/Forums/windowsserver/en-US/… 进行这种格式转换
-
请发布您正在使用的单声道版本,您正在使用的发行版和版本。还要为您自己的问题添加答案,而不是将答案作为评论说明。谢谢