生成ECDSA SSL通配符证书

生成ECDSA SSL通配符证书,ssl,nginx,certificate,wildcard,ecdsa,Ssl,Nginx,Certificate,Wildcard,Ecdsa,我正在努力生成使用自己的CA签名的ECDSA SSL通配符证书 我正在使用以下命令: # Generates CA private key openssl ecparam -name secp521r1 -genkey -param_enc explicit -out server-ca.key # Generates CA certificate openssl req -x509 -sha256 -new -nodes -key server-ca.key -days 3650 -out

我正在努力生成使用自己的CA签名的ECDSA SSL通配符证书

我正在使用以下命令:

# Generates CA private key
openssl ecparam -name secp521r1 -genkey -param_enc explicit -out server-ca.key

# Generates CA certificate
openssl req -x509 -sha256 -new -nodes -key server-ca.key -days 3650 -out server-ca.crt

# Generates private key
openssl ecparam -name secp521r1 -genkey -param_enc explicit -out server.key

# Generates certificate signing request
openssl req -new -key server.key -out server.csr -config server.conf -reqexts req_ext

# Generates certificate signed with my CA
openssl x509 -req -sha256 -days 3650 -in server.csr -CA server-ca.crt -CAkey server-ca.key -CAcreateserial -out server.crt -extfile server.conf -extensions req_ext
使用此请求配置(server.conf):

当我使用生成的server-ca.crt、server.key和server.crt配置Apache或nginx时,我无法使用HTTPS进行连接

这是我尝试连接时openssl的输出:

CONNECTED(00000003)
140500060243600:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:762:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 308 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
无论我使用哪条曲线,我总是无法连接。但是,当我使用RSA密钥而不是ECDSA时,一切正常

这是我的nginx配置:

ssl_certificate         server.crt;
ssl_certificate_key     server.key;
ssl_trusted_certificate server-ca.crt;
ssl_session_cache    shared:SSL:1m;
ssl_session_timeout  5m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers  on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
我做错了什么

openssl ecparam-name secp521r1-genkey-param_enc explicit-out server-ca.key

您必须创建不带“-param_enc explicit”的密钥对。
不要问我为什么;)

我遇到了相同的错误:错误:14077410我做了这些更改:-我升级到最新的nginx版本:1.7.6(1.4.x不工作)-我为参数定义了证书链:ssl\u certificate server.crt;-->首先是服务器PEM,然后是中间层和根CA PEM-我生成了一个没有param_enc explicit的密钥对-我使用openssl“openssl pkcs8”将密钥转换为p8格式-我为nginx设置了最小参数:ssl\u certificate server.crt;ssl\u证书\u密钥服务器.key<代码>在此处输入代码(p8密钥)ssl\u首选\u服务器\u密码打开;还是不行。但是我只有两个证书:server.crt和server-ca.crt。
ssl_certificate         server.crt;
ssl_certificate_key     server.key;
ssl_trusted_certificate server-ca.crt;
ssl_session_cache    shared:SSL:1m;
ssl_session_timeout  5m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers  on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";