当我尝试使用此命令获取客户端密钥和证书的页面时,出现此错误:
curl -v -s --key /home/dmitry/Downloads/client_cert/client.mysite.key --cert /home/dmitry/Downloads/client_cert/client.mysite.crt https://mysite.com/api/login/
2014/12/08 06:30:55 [crit] 13087#0: *404 SSL_do_handshake() Failed (SSL: error:14094085:SSL routines:SSL3_READ_BYTES:ccs received early) while SSL handshaking,client: xxx.xxx.xxx.xxx,server: 0.0.0.0:443
这里是我的Nginx.conf的一部分:
server { listen 443 ssl; ssl_certificate /home/mysite/conf/dev/ssl/com.mysite.crt; ssl_certificate_key /home/mysite/conf/dev/ssl/com.mysite.key; ssl_client_certificate /home/mysite/conf/dev/ssl/com.mysite.crt; ssl_verify_client optional; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; server_name mysite.com www.mysite.com; access_log /home/mysite/logs/Nginx_access.log; error_log /home/mysite/logs/Nginx_error.log; location /api/{ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header SSL-client-serial $ssl_client_serial; proxy_set_header SSL-client-dn $ssl_client_s_dn; proxy_set_header SSL-client-verify $ssl_client_verify; if ($ssl_client_verify != SUCCESS) { return 403; break; } } }
以下是我用来创build客户端证书的命令:
为什么从Web服务器执行时,Python环境variables有所不同?
如何configurationNginx显示文件内容而不是下载它?
Nginx:正确设置压缩样式/脚本的MIMEtypes
Nginx如何将proxy_pass传递给代理
openssl req -out client.mysite.csr -new -newkey rsa:2048 -nodes -keyout client.mysite.key openssl x509 -req -days 3650 -in client.mysite.csr -CA com.mysite.crt -CAkey com.mysite.key -set_serial 01 -out client.mysite.crt
这里有什么可能是错的? 我应该使用一些其他证书作为我的客户端证书的CA而不是服务器证书吗?
更新:
当我做
openssl verify -CAfile com.mysite.crt client.mysite.crt
我得到:
error 20 at 0 depth lookup:unable to get local issuer certificate
Dockerregistrylogin失败,“证书由未知权限签名”
关于Java Web应用程序和X-REAL-IP标题的问题
使用Nginx调整数据传输的成本
使用Nginx / Fastcgi在子URL下部署django
我用来签署另一个证书不是CA所以它根本无法验证,所以这就是为什么我从openssl verify命令有这个错误:
error 20 at 0 depth lookup:unable to get local issuer certificate
如果你不是CA,那么显然没有什么可以做的。
ccs早期收到
看起来像修复CVE-2014-0224的后果 。 由于修补程序似乎可用,请检查您的系统是否为最新版本或向您的经销商报告错误。
如果要添加有关正在运行的服务器系统的信息,特别是哪个操作系统,哪个版本的OpenSSL以及哪些修补程序,可能会提供更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。