Java可以用于实现HTTPS请求的单向认证和双向认证。

访客 275 0

文章目录

  • 前言
  • 一、准备
    • 1.构建客户端证书
    • 2.构建服务器端证书
    • 3.tomcat准备
  • 二、单向认证
    • 1.配置
    • 2.代码访问
  • 三、双向认证
    • 1.配置
    • 2.浏览器访问
    • 3.代码访问
  • 总结


前言

本文通过构建自签名证书,实现浏览器和代码发送https请求的单向认证,双向认证和代码层绕过证书校验。


一、准备

1.构建客户端证书

keytool -genkey -v -alias clientKey -keyalg RSA -storetype PKCS12 -keystore client.key.p12
Java可以用于实现HTTPS请求的单向认证和双向认证。-第1张图片-谷歌商店上架
得到文件client.key.p12,密码为:123456,alias为clientKey

2.构建服务器端证书

keytool -genkey -v -alias serverKey -keyalg RSA -keystore server.keystore -validity 365
装换格式
keytool -importkeystore -srckeystore server.keystore -destkeystore server.keystore -deststoretype pkcs12
Java可以用于实现HTTPS请求的单向认证和双向认证。-第2张图片-谷歌商店上架
得到文件:server.keystore,密码为:123456,别名serverKey

3.tomcat准备

tomcat的webapps目录下创建ssl目录,并将index.jsp文件放到该目录下

<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="UTF-8" %>
<%@ page import ="javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.Enumeration =>%>

标签: 证书 密钥 双向 代码

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~