https原理(九)目录
开始使用mkcert
1双向为什么能抵抗中间人【重要】
2mkcert签发客户端
springboot服务端,验证客户端证书,81de69b2a5f3032e8eaa98ef3c157373ce9aa609
server.ssl.key-store=classpath:mkcert/myhost.com.p12 server.ssl.key-store-type=PKCS12 server.ssl.enabled=true server.ssl.key-store-password=changeit server.ssl.trust-store=classpath:mkcert/myhost.com-client.jks server.ssl.trust-store-password=123456 server.ssl.client-auth=need
curl作为客户端
curl -k --cert myclient.pem --key myclient-key.pem https://myhost.com:8080/test/test -v
3
如果不给truststore,会用java cacerts文件
1模仿com客户端与服务端共用一个密钥对
2先curl
把p12弄入springboot,作为keystore
keytool -import -file myhost.com.pem -keystore myhost.com-client(后改名未 -pub-capub).jks 作为truststore
curl -k --cert myhost.com.pem --key myhost.com-key.pem https://myhost.com:8080/test/test -v
3 java客户端
server.ssl.trust-store=classpath:mkcert/myhost.com-pub-capub.jks
4 透明代理
5 能不能用自签名伪造客户端证书穿越want?不行,感觉sprintboot want会先搞下CA
6 mkcert两次即使签发同一个cn,证书内容也不相同
1 给中间人明文代理p12
证明:
1) 双向可以通过直接转发tcp的中间人代理网关
2)双向可以防止明文中间人
分析了com这套东西牛逼之处,看不懂
很多图,类似总结,有些料
浙公网安备 33010602011771号