【问题标题】:SSL Certs with Mono XSP4使用 Mono XSP4 的 SSL 证书
【发布时间】: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/… 进行这种格式转换
  • 请发布您正在使用的单声道版本,您正在使用的发行版和版本。还要为您自己的问题添加答案,而不是将答案作为评论说明。谢谢

标签: c# mono


【解决方案1】:

事实证明,Mono XSP4 需要 Microsoft PVK 二进制格式的私钥。我使用OpenSSL将PEM格式的私钥转换为PVK格式,然后XSP4加载这个OK。

我从 Microsoft TechNet 问答 (https://social.technet.microsoft.com/Forums/windowsserver/en-US/85b2b79e-7c39-4b58-8e1e-9855a3af09f6/export-a-private-key?forum=winserversecurity) 中获得的 OpenSSL 命令

openssl rsa -in FILENAME_key.pem -outform PVK -pvk-strong -out FILENAME.pvk

希望这可以帮助有类似问题的任何人! 干杯。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2011-04-10
    • 1970-01-01
    • 2016-12-14
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2020-10-12
    相关资源
    最近更新 更多