前提:
- 已有可签发证书的CA机构
- 已安装 openssl服务:openssl , JDK:keytool
服务端配置
- 生成密钥对 - 不支持sm2
openssl genrsa -out rsa_private_key.pem 2048
- 从密钥对中提取公钥制作webservice证书,申请者名称填写域名或对外服务的IP地址
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
- 证书制作完成后,将证书转为pem格式,根据密钥对和证书(pem)合成P12格式证书
openssl pkcs12 -export -inkey rsa_private_key.pem -in sign_pem.cer -out server.p12
- 根据一级根证书生成信任库keystore
keytool -importcert -alias ca -keystore .\truscatlist.keystore -file .\root.cer
- 将P12证书和信任库truscatlist.keystore放入项目工程目录并配置在服务yml文件中
server: port: 8086 ssl: key-store: appserver2.p12 key-store-password: 111111 key-store-type: PKCS12 client-auth: need trust-store: truscatlist2.keystore trust-store-type: JKS
客户端配置
- 生成密钥对 - 不支持sm2
openssl genrsa -out rsa_private_key.pem 2048
- 从密钥对中提取公钥制作设备类型证书
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
- 证书制作完成后,将证书转为pem格式,根据密钥对和证书(pem)合成P12格式证书
openssl pkcs12 -export -inkey rsa_private_key.pem -in sign_pem.cer -out client.p12
- 浏览器访问将客户端P12证书和一级根证书导入本地计算机
- PostMan访问配置一级根证书和客户端P12证书,Genneral -> 开启SSL certificate verification