keytool生成SSL证书

keytool生成SSL证书

  • 创建证书
  • 证书导出
  • 添加信任证书
  • 查看信任证书

创建证书

serverJKS格式,clientPKCS12格式
JKS转为PKCS12:
keytool -importkeystore -srckeystore server.keystore -destkeystore server.keystore -deststoretype pkcs12

# server JKS
keytool -genkey -alias server -keyalg RSA -keysize 2048 -validity 3650 -keystore server.keystore -keypass 123456 -storepass 123456
您的名字与姓氏是什么?
  [Unknown]:  xxx
您的组织单位名称是什么?
  [Unknown]:  xxx
您的组织名称是什么?
  [Unknown]:  xxx
您所在的城市或区域名称是什么?
  [Unknown]:  xxx
您所在的省/市/自治区名称是什么?
  [Unknown]:  xxx
该单位的双字母国家/地区代码是什么?
  [Unknown]:  xxx
CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx是否正确?
  []:  y

# client PKCS12
keytool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -storetype PKCS12 -keystore client.p12 -keypass 123456 -storepass 123456
您的名字与姓氏是什么?
  [Unknown]:  xxx
您的组织单位名称是什么?
  [Unknown]:  xxx
您的组织名称是什么?
  [Unknown]:  xxx
您所在的城市或区域名称是什么?
  [Unknown]:  xxx
您所在的省/市/自治区名称是什么?
  [Unknown]:  xxx
该单位的双字母国家/地区代码是什么?
  [Unknown]:  xxx
CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xxx是否正确?
  []:  y

证书导出

不能直接将证书导入到信任证书库,须先把证书导出为一个单独的cer文件

# server
keytool -export -alias server -keystore server.keystore -file server.cer -keypass 123456 -storepass 123456
# client
keytool -export -alias client -keystore client.p12 -file client.cer -keypass 123456 -storepass 123456

添加信任证书

server.truststore:server信任证书库,保存所有信任的client的证书
client.truststore:client信任证书库,保存所有信任的server的证书

# server
keytool -import -alias client -keystore server.truststore -file client.cer -keypass 123456 -storepass 123456
# client
keytool -import -alias server -keystore client.truststore -file server.cer -keypass 123456 -storepass 123456

查看信任证书

# server
keytool -list -keystore server.truststore -keypass 123456 -storepass 123456
# client
keytool -list -keystore client.truststore -keypass 123456 -storepass 123456

# 详细信息 -v
keytool -list -v -keystore server.truststore -keypass 123456 -storepass 123456

你可能感兴趣的:(Java,Netty,ssl,netty,java,安全)