当前位置: 首页 > 知识库问答 >
问题:

nginx - 如何通过 digicert 发放的免费证书,实现 ssl 双向认证?我操作了下,但是不成功,该如何实现?

柴文林
2023-11-25

我首先申请了免费的 digicert 证书,服务端用的 nginx。得到了两个文件 domain.pem, domain.key
这样配置的 nginx

listen 443 ssl;ssl_certificate the_path_of_domain.pem;ssl_certificate_key the_path_of_domain.key;ssl_client_certificate the_path_of_domain.pem;ssl_verify_client on;ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";ssl_prefer_server_ciphers on;

然后通过 curl 测试,失败

curl --cert domain.pem --key domain.key https://domain

更改了 ssl_verify_depth 的值也不可以。

需求帮助

共有1个答案

伏德义
2023-11-25

digicert的证书,是给服务端签发的证书,配置在ssl_certificate和ssl_certificate_key。

你要配双向认证的话,得自己弄个CA,自己签个客户端的证书,ssl_client_certificate 这里应该是指向你的CA证书,不是digicert的域名证书。


用easyrsa来演示一下:

  1. 开始使用easy-rsa

    apt install easy-rsacd /optcp /usr/share/easy-rsa . -acd easy-rsa
  2. 初始化 公钥基础设施 pki
    ./easy-rsa init-pki #初始化后,会在当前目录下创建一个pki文件夹,后续签发的证书都在里面。
  3. 创建CA
    ./easy-rsa build-ca #是交互式洁面,按照提示输入即可,需要记住CA的私钥密码。
  4. 创建自签的客户端证书
    ./easy-rsa build-client-full <证书名字> nopass #会提示输入CA的私钥密码。

ca证书的目录是 ./pki/ca.crt
证书目录是 ./pki/issue/<证书名字>.crt
证书私钥目录是 ./pki/private/<证书名字>.crt

 类似资料:
  • 问题内容: 我正在尝试托管一个我使用Facebook样板在本地创建和测试的React应用。 客户端应用程序与我使用node.js制作的API进行了交互,并且使用该API可以毫无问题地建立安全连接(通过node.js客户端发送我的SSL证书进行测试)。 但是,在使用react发送我的SSL证书而不是自签名证书时,我遇到了困难,这导致我使用chrome并尝试访问https://example.net:

  • 我正在尝试实现身份验证 可以请求任何微服务的API网关。 用户微服务-我存储所有用户的地方。实现在此微服务中对用户进行身份验证。按应有的方式工作,登录路由返回我用于在此微服务中对用户进行身份验证的令牌。 其他5个微服务,未经任何身份验证或授权。 问题是:使用身份验证的正确方法是什么

  • 本文向大家介绍详解NodeJS Https HSM双向认证实现,包括了详解NodeJS Https HSM双向认证实现的使用技巧和注意事项,需要的朋友参考一下 工作中需要建立一套HSM的HTTPS双向认证通道,即通过硬件加密机(Ukey)进行本地加密运算的HTTPS双向认证,和银行的UKEY认证类似。 NodeJS可以利用openSSL的HSM plugin方式实现,但是需要编译C++,太麻烦,作

  • 本文向大家介绍详解Nginx配置SSL证书实现Https访问,包括了详解Nginx配置SSL证书实现Https访问的使用技巧和注意事项,需要的朋友参考一下 背景 由于项目需求,安全起见,需要将之前的http接口访问变成https访问,所以需要配置SSL证书。项目的架构是这样的: 基本架构是硬负载(ReadWhere)+ 软负载(Nginx)+ Tomcat集群,现在的问题是SSl证书要配置在哪里,

  • 本文向大家介绍nginx配置ssl证书实现https访问的示例,包括了nginx配置ssl证书实现https访问的示例的使用技巧和注意事项,需要的朋友参考一下 一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点“解析”,进入解析页面后选择【添加

  • 本文向大家介绍Java如何实现验证码验证功能,包括了Java如何实现验证码验证功能的使用技巧和注意事项,需要的朋友参考一下 Java如何实现验证码验证功能呢?日常生活中,验证码随处可见,他可以在一定程度上保护账号安全,那么他是怎么实现的呢? Java实现验证码验证功能其实非常简单:用到了一个Graphics类在画板上绘制字母,随机选取一定数量的字母随机生成,然后在画板上随机生成几条干扰线。 首先,