【问题标题】:How to Get Apache to Accept a Self Signed Cert Made By Java's KeyTool如何让 Apache 接受由 Java 的 KeyTool 制作的自签名证书
【发布时间】:2016-07-27 03:16:15
【问题描述】:

Apache/PHP/Symphony 在我的中间层用于身份验证和路由。请求通过 http,然后如果请求验证发出请求的人已获得授权,则通过 https 调用后端 Web 服务。后端 Web 服务通过带有自签名证书的 https。我可以直接访问后端服务并通过 chrome 检查器查看我的证书信息。当我通过 url 直接向后端发出请求时,一切正常。当我尝试通过中间层时,我得到一个 504 响应:

{"code":504,"message":"A network communication error has occurred","error":{"code":77,"message":"SSL: can\u0027t load CA certificate file \/etc\/pki\/tls\/certs\/ca-bundle.crt"}}

我将证书生成到:

/usr/local/jboss-eap-6.4/standalone/configuration/.keystore

使用命令:

keytool -genkey -keyalg RSA -alias jboss -keystore .keystore -storepass changeit -validity 9999 -keysize 2048

我还更新了我的standalone.xml 以通过以下方式引用该文件:

<ssl name="ssl" key-alias="jboss" password="changeit" certificate-key-file="/usr/local/jboss-eap-6.4/standalone/configuration/.keystore" protocol="TLSv1" verify-client="false"/>

我的开发机器是 OSX。

似乎 apache 或 symfony 正在寻找 /etc/pki/tls/certs/ca-bundle.cert 中的证书,这是一个在我的系统上不存在的文件。在/etc/apache2/httpd.conf 中搜索“pki”没有结果。

如何设置apache/symfony2 以信任此证书,或者是否有其他方式可以在全球范围内更信任此证书?

【问题讨论】:

    标签: php macos apache symfony ssl


    【解决方案1】:

    创建 CA 证书捆绑文件

    系统正在寻找/etc/pki/tls/certs/ca-bundle.cert,这是 linux 上的标准路径,但在 osx 上没有。我们通过生成文件来解决这个问题。

    我使用keytool 生成了.keystore 文件,并使用jboss 作为我的别名。为了构建 ca 包文件,我们需要它是 pem 格式的,所以我们需要将 -rfc 添加到我们的导出语句中。以下是命令:

    cd /usr/local/jboss-eap-6.4/standalone/configuration
    keytool -export -alias jboss -file local-sbx.dev.yourcompany.com.crt -keystore .keystore -rfc
    

    获得文件后,您可以将其找出并验证文件中是否包含 BEGIN CERTIFICATEEND CERTIFICATE 内容。如果是这样,它的格式是正确的。

    最后,创建目录结构,移动 cert 使其像 bundle 一样(这只是一堆相互附加的证书),然后重新启动 apache:

    mkdir -p /etc/pki/tls/certs/
    sudo cp local-sbx.dev.yourcompany.com.crt /etc/pki/tls/certs/ca-bundle.crt
    sudo apachectl restart
    

    注意:这是SSL: can't load CA certificate file /etc/pki/tls/certs/ca-bundle.crt 的一个子问题,因此如果您仍然遇到问题,您可能还需要更新您的 php 设置...说明在提供的链接中。 p>

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 2011-01-13
      • 2021-05-07
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2015-12-25
      • 1970-01-01
      相关资源
      最近更新 更多