JAVA中使用jks做为证书管理

文章目录

  • 前言
  • 一、转换
  • 二、ssl/tls会话流程
  • 总结


前言

如果想开启ssl/tls服务,必须要要有证书才可以,然而java使用的证书格式默认是jks(java key store),所以通常需要将证书格式进行转化。不知道为什么不能直接使用openssl生成的格式


一、转换

#!/bin/sh# password=mypassword# convert pem to pkcs12
if [ ! -n "$1" ]; then  echo "pelease input pem file"  exit
fi
if [ ! -n "$2" ]; then  echo "pelease input private key file"  exit
fiMYPEM=$1
MYKEY=$2openssl pkcs12 -export -in ${MYPEM}  \
-inkey ${MYKEY}  -out MYSERVER.p12 \
-name MYSERVER -passin pass:mypassword -passout pass:mypassword# convert pkcs12 to jkskeytool -importkeystore -srckeystore MYSERVER.p12 -srcstoretype PKCS12 \
-srcstorepass mypassword -alias MYSERVER -deststorepass mypassword \
-destkeypass mypassword -destkeystore MYSERVER.jksrm -rf MYSERVER.p12echo ""
echo "*************************************************"
echo "* generate jks file success ===> MYSERVER.jks *"
echo "*************************************************"
echo ""

拿到jks后就可以使用了,如何使用网上有很多案例,此处不在列举

二、ssl/tls会话流程

在这里插入图片描述
客户端生成对称秘钥后,发给服务端,此后两者通信就使用该对称秘钥

总结

java不能直接使用pem格式感觉很奇怪,给开发带来不便


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部