简介
完成靶机LaCasaDePapel时,遇到了ssl双向认证的问题,通过双向认证给确信的用户下发通行证;本文翻译自国外文章,通过一个demo展示ssl双向认证。
服务器配置
创建node脚本
1 | const express = require('express') |
创建ssh key
1 | $ openssl req -x509 -newkey rsa:4096 -keyout server_key.pem -out server_cert.pem -nodes -days 365 -subj "/CN=localhost/O=Client\ Certificate\ Demo" |
生成客户端证书
1 | # 创建Alice的证书 |
使用服务器端证书对客户端证书进行签名
1 | $ openssl x509 -req -in alice_csr.pem -CA server_cert.pem -CAkey server_key.pem -out alice_cert.pem -set_serial 01 -days 365 |
使用Bob对客户端证书进行签名
1 | $ openssl x509 -req -in bob_csr.pem -signkey bob_key.pem -out bob_cert.pem -days 365 |
通过客户端证书访问https服务
curl –insecure –cert alice.p12 –cert-type p12 https://localhost:9999/authenticate