创建key store

创建 Keystore(密钥库)通常用于 Java 应用程序中管理加密密钥和证书,最常用的是使用 JDK 自带的 keytool 工具。以下是创建 Keystore 的基本步骤:


一、使用 keytool 创建一个新的 Keystore

1. 打开终端(Windows 命令提示符 / macOS/Linux 终端)

确保你已经安装了 JDK,并且 keytool 在系统路径中(通常位于 $JAVA_HOME/bin/keytool)。

2. 运行以下命令创建 Keystore 并生成密钥对:

keytool -genkeypair \
  -alias mykey \
  -keyalg RSA \
  -keysize 2048 \
  -validity 365 \
  -keystore mykeystore.jks \
  -storetype JKS

说明:

  • -alias mykey:密钥别名(可自定义)
  • -keyalg RSA:使用的加密算法(也可以是 EC 等)
  • -keysize 2048:密钥长度(RSA 推荐至少 2048 位)
  • -validity 365:证书有效期(单位:天)
  • -keystore mykeystore.jks:生成的 Keystore 文件名
  • -storetype JKS:Keystore 类型(Java KeyStore,默认类型;也可用 PKCS12)

⚠️ 如果你使用较新版本的 Java(如 Java 9+),默认的 keystore 类型可能为 PKCS12。你可以显式指定 -storetype JKS 或直接使用 PKCS12(更通用):

keytool -genkeypair \
  -alias mykey \
  -keyalg RSA \
  -keysize 2048 \
  -validity 365 \
  -keystore mykeystore.p12 \
  -storetype PKCS12

3. 按提示输入信息

  • 设置 Keystore 密码(至少 6 位)
  • 输入你的姓名、组织单位、城市、国家等(用于生成自签名证书)
  • 确认信息后,会生成 Keystore 文件(如 mykeystore.jksmykeystore.p12

二、验证 Keystore 内容

你可以使用以下命令查看 Keystore 中的内容:

keytool -list -v -keystore mykeystore.jks

或(如果是 PKCS12):

keytool -list -v -keystore mykeystore.p12 -storetype PKCS12

三、其他常见操作(补充)

操作 命令示例
导入证书 keytool -importcert -file cert.cer -keystore mykeystore.jks -alias ca
导出公钥证书 keytool -exportcert -alias mykey -keystore mykeystore.jks -file mycert.cer
更改 Keystore 密码 keytool -storepasswd -keystore mykeystore.jks
删除条目 keytool -delete -alias mykey -keystore mykeystore.jks

四、注意事项

  • 妥善保管 Keystore 文件和密码,一旦丢失将无法恢复私钥。
  • 生产环境中建议使用由 CA 签发的正式证书,而非自签名证书。
  • Android 开发中通常使用 .jks.keystore 文件对 APK 签名。
  • 对于 HTTPS 服务(如 Tomcat),可将 Keystore 配置为 SSL 证书容器。

输入以下命令来获取SHA1值:

keytool -list -v -keystore <path-to-your-keystore> -alias <your-key-alias>

替换为你的密钥库文件的路径,例如:/path/to/my-key.jks。
替换为你的密钥别名,例如:my-key-alias。

posted @ 2026-02-04 17:24  庶旁  阅读(1)  评论(0)    收藏  举报