java生成 *.crt和*.key文件与*.keystore *.jks文件的转换
Posted hongshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java生成 *.crt和*.key文件与*.keystore *.jks文件的转换相关的知识,希望对你有一定的参考价值。
名称 | 含义 |
---|---|
.pem | Privacy Enhanced Mail的缩写,一般是文本格式,可保存证书,可保存私钥,证书或密钥的Base64文本存储格式,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾 |
.cer|.crt | 文件是二进制格式,只保存证书,不保存私钥,.cer常见于Windows系统, crt常见于Linux系统,可能是PEM编码,也可能是DER编码,大多数应该是DER编码. |
PFX/P12 | predecessor of PKCS#12,对Unix服务器来说,一般CRT和KEY是分开存放在不同文件中的,但Windows的IIS则将它们存在一个PFX文件中 |
JKS | 即Java Key Storage,这是Java的专利,跟OpenSSL关系不大,利用Java的一个叫”keytool”的工具,可以将PFX转为JKS,当然了,keytool也能直接生成JKS |
*.csr | 证书签名请求,包含证书持有人的信息,如国家,域名等 |
*.key | 单独存储的.pem格式的密钥,一般保存为*.key |
pkcs1/pkcs12 | 公钥加密(非对称加密)的一种标准,一般存储为*.p12等包含证书和密钥的封装格式 |
-
证书的格式是可以相互的转换的,openssl先生成私钥,然后再生成证书签名请求,最后通过私钥和证书请求生成公钥。
openssl req -newkey rsa:2048 -nodes -out hongshu.csr -keyout hongshu_com.key
执行命令后,会生成hongshu.csr/hongshu_com.key文件
2.创建公钥
openssl x509 -req -days 365 -in hongshu.csr -signkey hongshu_com.key -out hongshu_com.crt
3.将*.key和*.crt转换为keystore文件
3.1 先生成p12文件
openssl pkcs12 -export -in hongshu_com.crt -inkey hongshu_com.key -out hongshu_com.p12
3.2 再生成keystore文件(jks格式是keysotre标准格式,java key store的缩写)
keytool -importkeystore -v -srckeystore hongshu_com.p12 -srcstoretype pkcs12 -destkeystore hongshu_com.jks -deststoretype jks
以上是关于java生成 *.crt和*.key文件与*.keystore *.jks文件的转换的主要内容,如果未能解决你的问题,请参考以下文章
如何在openssl生成的java中使用.key和.crt文件?
apache的证书文件-crt,pem,key,p7b ...我迷路了