【问题标题】:Signing private cert, which key?签署私人证书,哪个密钥?
【发布时间】:2017-08-16 14:23:26
【问题描述】:

我正在尝试通过一些 php 脚本启用客户端证书验证。我的服务器 -debian / lighttpd- 有一段时间有 SSL 证书,它可以工作。

它是这样配置的:

    $SERVER["socket"] == ":443" {
      ssl.engine = "enable" 
      ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES128+EECDH:AES128+EDH"
      ssl.pemfile = "/etc/lighttpd/certs/mydomain.net.pem"
      ssl.ca-file = 
         "/etc/lighttpd/certs/my.domain.ca-bundle"
      ssl.dh-file = "/etc/lighttpd/certs/dhparam.pem"
      ssl.ec-curve = "secp384r1"
      ssl.verifyclient.activate = "enable"
      ssl.verifyclient.enforce = "disable"
      ssl.verifyclient.username  = "SSL_CLIENT_S_DN_CN"
      ssl.verifyclient.depth = 1
      ssl.verifyclient.exportcert = "enable"
    } 

我尝试在这里遵循相当不错的教程 https://gist.github.com/mtigas/952344

不同之处在于我没有创建 ca.key 和 ca.crt,因为我已经用我的 lighttpd 配置了它们(它们由 Comodo 签名)。

现在,我的第一个疑问是我应该使用什么来签署我的 client.crt?

这就是我所做的:

     openssl genrsa -des3 -out client1.key 2048   
     openssl req -new -key client1.key -out client1.csr  

现在我需要用 CA 签署它,我会说它是在 lighttpd.conf 中标识为 ssl.ca 文件的那个,对吧?

所以我猜是 my.domain.ca-bundle。

问题是,我如何获得它的密钥? 我尝试使用(-CAkey)与用于请求证书的 csr 一起使用的私钥,但我得到 X509_check_private_key: key values mismatch

我应该使用哪一个?

查看了一些教程和示例,但所有这些都假设您创建了自己的 ouw CA

【问题讨论】:

    标签: ssl-certificate


    【解决方案1】:

    首先,您不能创建自己的 (CA),(CA) 是为您提供 ssl 证书的证书颁发机构。为此,您必须提交一个请求,该请求基本上是一个(CSR 证书签名请求)。验证您的请求后,您将能够下载您的 SSL 证书。接下来,您必须在生成(CSR)的服务器上导入您的 ssl 证书。在导入 ssl 时,请确保您也选择导入私钥,在此步骤结束时,您有一个 .pfx 文件,要获取私钥,您只需将 .pfx 文件转换为 pem 文件,其中您可以找到包含私钥的 .key 文件。 这篇文章可能会有所帮助:https://www.namecheap.com/support/knowledgebase/article.aspx/9834/69/how-can-i-find-the-private-key-for-my-ssl-certificate

    PS:请注意,您应该在生成 (CSR) 的同一台服务器上导入您的 ssl 证书,否则您的 ssl 证书将不会附加到任何私钥,您可以使用此工具 'DigiCert实用程序'来导入 ssl 证书、生成 (CSR)、测试您的密钥...

    【讨论】:

    • 谢谢,但我正在努力实现其他目标。我已经完成了整个过程,并且 SSL 在我的服务器上正常工作。我想要实现的是在不询问用户名和密码的情况下验证(服务器上的 PHP)客户端,而是使用证书。我以为我在第一句“我正在尝试从某些 php 脚本启用客户端证书验证”中进行了解释,但可能我并不清楚。
    猜你喜欢
    • 2021-04-17
    • 1970-01-01
    • 2020-10-28
    • 2017-08-15
    • 1970-01-01
    • 2019-04-20
    • 2013-11-10
    • 1970-01-01
    • 2011-02-08
    相关资源
    最近更新 更多