使用keytool 生成证书

keytool 工具介绍

keytool 是java 用于管理密钥和证书的工具,其功能包括:

1 创建并管理密钥

2 创建并管理证书

3 作为CA 为证书授权

4 导入导出证书

keytool 采用keystore来存储密钥及证书,其中可包括私钥、信任证书; 
keystore 文件使用 JKS格式,带密钥存储;其中私钥的存储也有独立的密码;

一、生成 私钥

keytool -genkey -alias serverkey -keystore server.keystore

按提示 输入keystore 存储密码、私钥密码、个人信息,之后会生成 server.keystore文件

相关参数

-keyalt RSA 采用RSA算法(默认)
-storepass keystore 文件密码
-keypass 私钥密码

二、导出证书

keytool -export -keystore server.keystore -file server.cer -alias serverkey

三、导入信任证书(客户端使用)

keytool -import -keystore clientTrust.keystore -file server.cer -alias serverTrust

四、查看密钥及证书

查看server 密钥

keytool -list -keystore server.keystore

输出

Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
serverkey, Sep 25, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62

  

查看clientTrust 密钥

keytool -list -keystore clientTrust.keystore

输出

Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
servertrust, Sep 25, 2016, trustedCertEntry,
Certificate fingerprint (SHA1): 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62

  

加上-v选项可查看更详细信息

查看 证书

keytool -printcert -file server.cer

输出

Owner: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN
Issuer: CN=ZZ, OU=DEV, O=pp.com, L=GZ, ST=GD, C=CN
Serial number: 797f3140
Valid from: Sun Sep 25 16:43:55 CST 2016 until: Sat Dec 24 16:43:55 CST 2016
Certificate fingerprints:
MD5: FB:7D:29:4C:A9:F3:07:0E:CC:74:0D:9B:D4:D6:4D:91
SHA1: 65:75:C9:08:A0:83:21:A1:D7:8D:DA:CD:3D:FB:C2:E0:50:96:29:62
SHA256: E9:8B:A5:43:5F:40:FA:C5:64:3B:0A:11:1D:BE:D1:07:3C:A1:E2:50:88:71:A7:5C:EC:43:22:98:1B:AA:B6:EB
Signature algorithm name: SHA1withDSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 0E C3 62 D3 75 3A 3C B7 D9 C4 BD 8E 63 E7 6C EC ..b.u:<.....c.l.
0010: AF 8A 29 72 ..)r
]
]

  

五 转换命令

将 jks格式 转 pkcs

keytool -importkeystore -srckeystore me.keystore -destkeystore me.p12 -srcalias me -destalias me -srcstoretype JKS -deststoretype PKCS12

FAQ

** keytool 通用格式为 jks,如何获取私钥?** 
答:通过程序读取输出;

** 如何将 jks文件转换为 pem文件,以用于nginx服务器?** 
答:通常jks 文件已包含私钥、证书、CA证书信息,可通过 keytool 将jks 转为pkcs格式,再通过openssl 进行转换提取:

提取 privatekey -nodes 指示输出无加密 pem文件
openssl pkcs12 -in me.p12 -nodes -nocerts -out me.key
提取 证书
openssl pkcs12 -in me.p12 -nodes -nokeys -clcerts -out me.crt
提取 CA证书(如果自签名则为空)
openssl pkcs12 -in me.p12 -nodes -nokeys -cacerts -out ca.crt

  

时间: 2024-10-20 09:55:52

使用keytool 生成证书的相关文章

用keytool生成证书

1.证书查看与删除 查看是否已创建过同名的证书 keytool -list -v -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit 删除已创建的证书 keytool -delete -aliasssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit 以上

使用jdk中keytool生成证书

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥.私钥和证书 -alias       产生别名-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中-keyalg      指定密钥的算法    -validity    指定创建的证书有效期多少天-keysize     指定密钥长度-storepass   指定密钥库的密码-keypass     指定别名条目

tomcat7+jdk的keytool生成证书 配置https

tomcat7+jdk的keytool生成证书 配置https 本文仅介绍使用jdk的keytool来生成证书. 1Windows下: 1.1 生成keystore文件及导出证书 打开控制台: 运行: %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA 按照要求一步步的输入信息,问你国家/地区代码的时候,输入cn. 输入密码的时候,这里使用:changeit 最后一步让你输入的时候,直接回车. 具体记录如下: C:\Users\Ad

keytool生成证书与Tomcat SSL配置

转自:http://tomhat.iteye.com/blog/2087673 一.Keytool介绍 Keytool是一个Java数据证书的管理工具.Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据: 1.   密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密) 2.   可信任的证书实体(trusted certificate entries)——只包含

java ssl https 连接详解 生成证书

我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容 就需要SSL.这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面. 2)HTTPS和HTTP的区别 a.

java 调用 keytool 生成keystore 和 cer 证书

keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密) 可信任的证书实体(trusted certificate entries)——只包含公钥 ailas(别名)每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写 下面给出一

使用keytool生成ssl证书

在项目中由于要使用https访问项目,然后了解到jdk有一个自带的工具keytool可以用来生成ssl证书,从而可以通过https进行访问. 使用keytool生成ssl证书的流程如下: 具体实现可以参考博文:http://blog.csdn.net/zmken497300/article/details/53186730

利用JDK自带的keytool生成SSL证书然后导入到SpringBoot

一:生成命令如下(这一步生成的暂不知道干嘛用的) E:\Desktop\Documents\证书>keytool -genkey -alias tomcat -keypass 12345678 -keyalg RSA -keysize 2048 -validity 365 -keystore ./tomcat.keystore -storepass 12345678 按下enter后keytool会要求你填写很多信息,如公司名,地区,国家之类的,填写好后会在pwd目录生成tomcat.keyst

JDK自带工具keytool生成ssl证书

keytool -genkey -alias tomcat  -keypass  123456 -keyalg RSA   -keysize   1024   -validity   365           -keystore  C:/tomcat.keystore      -storepass  123456keytool -genkey -alias 别名    -keypass  别名密码 -keyalg 算法  -keysize   密钥长度 -validity   有效期单位是天