您当前的位置:首页 > 计算机 > 编程开发 > Java

Java生成SSL证书

时间:11-10来源:作者:点击数:
城东书院 www.cdsy.xyz
Java-big

1. 背景

开发环境或者测试环境,有的时候需要用到 HTTPS ,在时间和成本上考虑,我们利用 Java 密码体系结构(JCAJava Cryptography Architecture) 完成建设可用的加密通信库。

利用 Java 自带 keytool.exe 生成证书, Keytool 是一个 Java 数据证书的管理工具,在命令行方式下,生成服务器证书申请文 CSR ,然后到 CA 签发服务器证书。

2. 演示环境

  • Windows 10
  • Jdk 1.8.0.131

3. 命令

  • genkey:定义将要创建一个新的密钥
  • alias:别名, alias ,不区分大小写
  • keyalg:指定加密的算法,这里是 RSA
  • keystore:指定密钥保存路径,在 D:盘目录下的 Code 文件中
  • dname:表示密钥的 Distinguished Names
  • keypass:私钥的密码
  • storepass:密钥库密码
  • validity:创建的证书有效期,单位为 天
  • list:列出证书
  • rfc:可编码方式打印证书
  • v:显示详细信息
  • import:将已签名数字证书导入密钥库
  • export:将别名指定的证书导出到文件
  • keysize:指定密钥长度
  • delete:删除密钥库中某条目
  • file:参数指定导出到文件的文件名
  • keypasswd:修改密钥库中指定条目的密码
  • storepasswd:修改密钥库的密码

4. 创建证书

keytool -genkey -alias eviltop -keyalg RSA -keystore D:\Code\eviltop.keystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass 123456 -storepass 123456 -validity 180

当不指定 keypass 和 storepass ,创建密钥过程中需要手工输入。

20220813223812

5. 查看证书

5.1. 显示详细

~~

keytool -list -v -keystore eviltop.keystore -storepass 123456

~~~txt

$ keytool -list -v -keystore eviltop.keystore -storepass 123456
密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: eviltop
创建日期: 2022年8月13日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN
发布者: CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN
序列号: 2bce8e3
生效时间: Sat Aug 13 22:38:02 CST 2022, 失效时间: Thu Feb 09 22:38:02 CST 2023
证书指纹:
         SHA1: 76:60:92:F3:44:22:39:4F:66:B8:F1:B2:7B:11:BF:C6:66:AE:56:1F
         SHA256: 19:FD:21:B9:C9:51:BA:D9:82:3F:F6:C3:69:59:2D:99:E8:19:32:2C:05:46:7F:64:76:AB:A0:89:9E:38:20:8D
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展:

*******************************************
*******************************************
5.2. 编码打印
keytool -list -rfc -keystore eviltop.keystore -storepass 123456
$ keytool -list -rfc -keystore eviltop.keystore -storepass 123456
密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: eviltop
创建日期: 2022年8月13日
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
-----BEGIN CERTIFICATE-----
MIIDZTCCAk2gAwIBAgIEArzo4zANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJD
TjELMAkGA1UECBMCU0gxCzAJBgNVBAcTAlNIMRIwEAYDVQQKEwlsb2NhbGhvc3Qx
EjAQBgNVBAsTCWxvY2FsaG9zdDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTIyMDgx
MzE0MzgwMloXDTIzMDIwOTE0MzgwMlowYzELMAkGA1UEBhMCQ04xCzAJBgNVBAgT
AlNIMQswCQYDVQQHEwJTSDESMBAGA1UEChMJbG9jYWxob3N0MRIwEAYDVQQLEwls
b2NhbGhvc3QxEjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAIXMJuibBSyK60r+QMt9aqbrcSH/Esja31cbujh7DRJdjRgv
6c6d93JGQhzBe0mvWUnshi3KhmRCr44S2ZRtGk+UIEK+/cJWRgQzT3GFkNUe6pUh
dSe31g740409iu96/NihI2GjbsYJHsgsRktXBS8Wk7AjJlp2tFEb88d2wK/Ul3wW
Z/cuZnbed4x51htKOosyrLhtGM8QOXZfhNgAoVGY61eVhp5SB/TL4o9XnSaZsKfM
L/UV6QXmgrqsbyH7MLQCT6E/Hr7wW3lnwsSpiNg/49ETxYlS4Fj6N/O7rH4HFnWx
RXHKgFuKGsj7cZ0cELbTaydG8CqdptGybVkA3dECAwEAAaMhMB8wHQYDVR0OBBYE
FJlqY0G6hbf1+D9Q3vg18Z+2mI51MA0GCSqGSIb3DQEBCwUAA4IBAQAoskcTy9Kl
5iOMiQTyu71TEY48wx94ajqdRrdLm5frKawh115lGUhDEz+w+NAO+dGirNHuoyXf
Bl2G7qUVF6rbNVGHrwUlCdVFLD02l2nLVvqjQEnicxU6P5IBwxBHhbQfKEdFOETI
jr8gQKshDNgO+C6ugktnLfSNkiMs6UYeySWcZQDetZJbmts7N6mbpZW/h1Looku5
IJRkfwL5xEStRcOM1aEjIrATKveZQfbDPFQCpJmTfktoa1K4pob22/FeOPkSz35W
EJEp4eOFY/0kir4oacwyada1PUocklCJ+iiTLwLtzrue5upzBaFikyyhmtGiuT2p
NApthnwtHmuv
-----END CERTIFICATE-----


*******************************************
*******************************************

6. 导入导出证书

6.1. 导出
keytool -export -alias eviltop -file ./eviltop.crt -keystore ./eviltop.keystore -storepass 123456
20220813224758
6.2. 导入
keytool -import -alias eviltop -file ./eviltop.crt -keystore ./eviltop.keystore -storepass 123456

7. 修改密码

7.1. 修改密钥库
keytool -storepasswd -keystore ./eviltop.keystore -storepass 123456 -new 567890
7.2. 修改密钥库指定条目
keytool -keypasswd -alias eviltop -keypass 123456 -new 654321 -storepass 567890 -keystore ./eviltop.keystore

8. 删除密码

keytool -delete -alias eviltop -keystore "D:\Environment\JDK\1.8.0_301\jre\lib\security\cacerts" -storepass changeit
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐