让EV SSL证书在Nginx上运行的问题

时间:2016-04-29 17:47:27

标签: ssl nginx ssl-certificate

我已经使用SSL来处理Apache服务器和客户端的Nginx服务器。但是,我的EV SSL证书安装存在问题。这也是在URL中具有特殊字符的服务器上:weöm.com

weöm.com在浏览器中显示为xn--wem-tna.com,这很好。当我查看从COMODO通过电子邮件发送给我的.ca-bundle时,我看到我的域名呈现为we\xC3\xB6m.com,这让我觉得我必须生成.csr.key同样的方式。

以下是我一直在做的事情(在终端中运行此命令):

openssl req -new -newkey rsa:2048 -nodes -out weom.csr -keyout weom.key -subj "/serialNumber=000000000/businessCategory=Private Organization/C=US/postalCode=00000/ST=California/L=Cupertino/street=1 Loop Way/O=Apple Inc/OU=COMODO EV SSL/CN=we\xC3\xB6m.com"

(我在示例中用假数据替换了序列号和其他内容)

代码使用与我编译的.csr完全相同的数据吐出.key.crt,我无法理解为什么我仍然会收到此SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch错误

我一直在争论这个问题大约一个星期,有没有人知道我做错了什么?

编辑:证明更多信息......

以下是我创建主人.crt的方式:

cat xn--wem-tna.com.crt AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSAExtendedValidationSecureServerCA.crt >> cert_chain.crt

这是default文件夹中的sites-available文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name xn--wem-tna.com;
    return 301 https://$host$request_uri;
}

server {
    # SSL configuration
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    ssl_certificate     cert_chain.crt;
    ssl_certificate_key weom.key;

    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";

    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name xn--wem-tna.com;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }
}

2 个答案:

答案 0 :(得分:0)

错误的原因是您的KEY和CRT不同。

您可以通过检查MD5哈希来验证这一点:

openssl x509 -noout -modulus -in certificate.crt | openssl md5

openssl rsa -noout -modulus -in privateKey.key | openssl md5

此外,我会改变捆绑CRT(cert_chain.crt)中的顺序,此时你就是这样:

  

xn - wem-tna.com.crt AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSAExtendedValidationSecureServerCA.crt

应该是:

cat xn - wem-tna.com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt> cert_chain.crt

这是官方Comodos Certificate Installation: NGINX

让我担心的是你在开头的评论:

如果您在颁发证书后更改了密钥,则需要使其无效并使用新的KEY和新CSR申请新的CRT。

  

weöm.com在浏览器中显示为xn--wem-tna.com,这很好。当我查看从COMODO通过电子邮件发送给我的.ca-bundle时,我看到我的域名呈现为we \ xC3 \ xB6m.com,这让我觉得我必须以同样的方式生成我的.csr和.key。 / p>

答案 1 :(得分:0)

哦,是的,忘了更新。

我得到退款并使用了CertSimple。星期五晚上通过电子邮件发送了他们的问题,经历了周六上午/下午获得EV证书的整个过程,并在下午6点之前将其放在我的服务器上(这只是因为我出去跑腿)。