未加载SSL证书

时间:2017-10-27 08:28:20

标签: apache ssl https ssl-certificate

我在配置页面中有这个

  <IfModule ssl_module>
      SSLEngine On
      SSLCertificateFile /srv/website.com/config/ssl/website_com.crt
      SSLCertificateKeyFile /srv/website.com/config/ssl/server.key
      SSLCertificateChainFile "/srv/website.com/config/ssl/website_com.ca-bundle
    </IfModule>

我用Apache mod-ssl运行Debian 9。

配置页面是apache2.conf,我有这个包含ports.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

从Comodo上传SSL中的文档是一个积极的SSL,所以我不得不连接这样的.crt文件:

cat USERTrustRSADomainValidationSecureServerCA.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot.crt >> website_com.cabundle

configtest中的语法是否正常。优雅地重新启动apache,website.com仍在运行,但如果我转到https://website.com,则表示safari无法访问该页面。

我已通过https://www.ssllabs.com/ssltest/analyze.html?d=website.com测试了连接,该连接表示没有安全协议......

然后通过

检查错误
openssl s_client -CApath /etc/ssl/certs/ -connect example.com:443

    CONNECTED(00000003)
    139742262367488:error:1408F10B:SSL routines:ssl3_get_record:wrong    
version number:../ssl/record/ssl3_record.c:252:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 5 bytes and written 176 bytes
    Verification: OK
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1509040891
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no

我了解客户端证书CA名称未被发送。我在default-ssl.conf文件中读到了这个

#   Certificate Authority (CA):
#   Set the CA certificate verification path where to find CA
#   certificates for client authentication or alternatively one
#   huge file containing all of them (file must be PEM encoded)
#   Note: Inside SSLCACertificatePath you need hash symlinks
#   to point to the certificate files. Use the provided
#   Makefile to update the hash symlinks after changes.
#SSLCACertificatePath /etc/ssl/certs/
#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

但这是我在上面的website.conf文件中引用的文件吗?

我已经与我的托管支持和注册商支持进行了交流,但他们都没有知道如何在终端上手动设置...

另外,如何将其默认为https://连接?

非常感谢任何想法。

由于

1 个答案:

答案 0 :(得分:0)

似乎链文件扩展名和连接不正确 如果您有Windows操作系统,请按照以下步骤进行操作 1)双击证书,即website_com.crt
2)现在您需要单击证书路径选项卡(此处您将看到证书的链接,最高的是根证书,中间证书是中间证书)
3)双击中间的一个,弹出一个新的弹出窗口 4)现在点击详细信息
5)点击复制到文件..
6)点击下一步&gt;&gt;选择 base-64编码x.509(.cer)&gt;&gt;点击下一步&gt;&gt;将文件另存为abc 7)重复步骤1)至 6)但您需要选择最上面的一个,即根证书,并将文件保存为xyz 8)通过记事本打开abc,复制内容并将内容保存在新的记事本中,如123.txt 11)同样,通过记事本打开xyz,复制内容并将其粘贴在第一个内容下方的123.txt文件中。
12)现在将文件从123.txt重命名为123.crt

这是唯一需要的更改     SSLCertificateChainFile /srv/website.com/config/ssl/123.crt