postman配置jdk自签证书的双向认证功能

1.前提条件

存在一个jdk8自签的.keystore文件,例如www.bg.com-tomcat.keystore

2.自签需要关闭SSL certificate verification

右上角Setting->General,关闭"SSL certificate verification"

3.双向认证配置

3.1.检查证书信息

bash 复制代码
keytool -list -keystore D:\java\omc_ca\test2\www.bg.com-tomcat.keystore

结果如下

bash 复制代码
密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 2 个条目

www.bg.com-ca-root, 2023年8月25日, trustedCertEntry,
证书指纹 (SHA-256): BB:94:EA:62:04:FC:D0:69:55:56:C3:34:EA:0F:D6:6A:6C:A3:1C:A5:B4:BD:29:61:9B:E8:D1:FE:27:10:E6:E7
www.bg.com-tomcat, 2023年8月25日, PrivateKeyEntry,
证书指纹 (SHA-256): E6:C2:CB:39:2D:B6:37:1B:29:1A:3C:06:29:74:77:2D:55:11:32:CA:10:9F:92:AE:8A:29:86:20:07:58:4B:C5

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore D:\java\omc_ca\test2\www.bg.com-tomcat.keystore -destkeystore D:\java\omc_ca\test2\www.bg.com-tomcat.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

看到你的keystore包含两个条目:一个是CA根证书,一个是Tomcat的私钥条目

3.2.导出CA根证书为PEM格式

bash 复制代码
keytool -exportcert -alias "www.bg.com-ca-root" -keystore "D:\java\test2\www.bg.com-tomcat.keystore" -rfc -file ca-root.pem -storepass www.bg.com

生成ca-root.pem文件

3.3.导出客户端证书为PEM格式

bash 复制代码
keytool -exportcert -alias "www.bg.com-tomcat" -keystore "D:\java\test2\www.bg.com-tomcat.keystore" -rfc -file server-cert.pem -storepass www.bg.com

生成server-cert.pem文件

3.4.导出私钥(需要双向认证)

bash 复制代码
keytool -importkeystore -srckeystore D:\java\test2\www.bg.com-tomcat.keystore -destkeystore tomcat.p12 -deststoretype PKCS12 -srcalias www.bg.com-tomcat -srcstorepass www.bg.com -deststorepass www.bg.com

openssl pkcs12 -in tomcat.p12 -out server-key.pem -nocerts -nodes -passin pass:www.bg.com

生成tomcat.p12文件

生成server-key.pem文件

4.postman配置

右上角Setting->Certificate

打开CA Certificates,改成ON,导入ca-root.pem

Client Certificates -> Add Certificate,包括

host:<ip地址>:<端口>

CRT file:server-cert.pem

KEY file:server-key.pem

Passphrase:www.bg.com

相关推荐
k7Cx7e5 小时前
Thinkphp6在Postman中接收不到Post参数的解决办法
测试工具·postman
专吃海绵宝宝菠萝屋的派大星5 小时前
使用postman测试自己编写的mcp服务
测试工具·lua·postman
A懿轩A12 小时前
【2026 最新】JDK 下载与安装:在 macOS 下使用 Homebrew 和 jenv 完美管理多版本 JDK
java·开发语言·jdk·mac
小李云雾2 天前
FastAPI 后端开发:文件上传 + 表单提交
开发语言·python·lua·postman·fastapi
lifewange6 天前
postman接口自动化如何进行参数化
数据库·自动化·postman
妖萌妹儿7 天前
postman怎么做参数化批量测试,测试不同输入组合
开发语言·javascript·postman
尘中客8 天前
Postman进阶实战:优雅调试带 GZIP 压缩与百KB级复杂嵌套 JSON 的 RESTful API
json·postman·restful·php开发·gzip解压
苏渡苇9 天前
ConcurrentHashMap.computeIfAbsent():高并发下安全初始化的终极方案
java·安全·jdk·高并发·hashmap·concurrent
lifewange9 天前
Postman如何实现接口自动化
自动化·lua·postman
希望永不加班9 天前
SpringBoot 接口测试:Postman 与 JUnit 5 实战
java·spring boot·后端·junit·postman