老青菜

TLS1.2 Certificate Request

2019-06-09

如果Server开启了双向认证,紧跟Server Key Exchange消息,Server会发送Certificate Request,请求客户端证书。

发送条件

如何开启双向认证呢?首先我们需要生成根证书,接着签发客户端证书;然后修改服务器配置,配置根证书路径。比如说nginx,修改nginx.conf配置文件。

server {
    listen       443 ssl http2 default_server;
    listen       [::]:443 ssl http2 default_server;
    server_name  laoqingcai.com;
    ssl_certificate "/root/***/cer/server.pem";
    ssl_certificate_key "/root/***/cer/server.key";
    ssl_session_cache shared:SSL:1m;

    #配置客户端认证
    ssl_client_certificate /root/***/cer/ca/ca.crt;
    ssl_verify_client on;

    ......
}

然后重启nginx,执行命令:nginx -s reload,后面的请求就需要客户端证书了。

消息格式

Certificate Types

提供Client可以选择的证书类型的列表,Client必须发送对应Types的证书。

Distinguished Names

可接受的专有名称列表,描述CA证书或者从属证书。

参考链接

TLS1.2
TLS1.3
HandShake Protocol

Tags: HTTP
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章