CER证书生成工具
CER证书是一种X.509格式的证书,通常用于SSL/TLS协议中,本文详细介绍如何使用Java的keytool和OpenSSL生成CER证书,并提供一些常见问题与解答。
一、使用Keytool生成CER证书
1. Keystore的生成
Keystore用于存储密钥和证书,以下是生成Keystore的命令:
keytool -genkey -alias mykey -keyalg RSA -keystore C:/mykeystore.keystore -keysize 2048 -validity 365
-genkey
:生成一对非对称密钥。
-alias
:指定一个别名。
-keyalg
:指定加密算法,通用RSA。
-keystore
:指定生成的路径。
-keysize
:长度(可不加)。
-validity
:证书有效期(可不加)。
2. 生成CER证书
生成完KeyStore后,继续生成CER证书:
keytool -export -alias mykey -keystore C:/mykeystore.keystore -file C:/mykey.cer
3. 查看Keystore信息
可以使用以下命令查看Keystore信息:
keytool -list -v -keystore C:/mykeystore.keystore
4. 导出公钥
可以从Keystore中导出公钥:
public static void main(String[] args) { try { String certPath = "C:/mykey.cer"; CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); FileInputStream fileInputStream = new FileInputStream(certPath); X509Certificate x509Certificate = (X509Certificate) certificateFactory.generateCertificate(fileInputStream); fileInputStream.close(); PublicKey publicKey = x509Certificate.getPublicKey(); BASE64Encoder encoder = new BASE64Encoder(); String publicStr = encoder.encode(publicKey.getEncoded()); System.out.println("publicKey key = " + publicStr); } catch (Exception e) { e.printStackTrace(); } }
二、使用OpenSSL生成CER证书
1. 生成PEM私钥文件
openssl genrsa -out idsrv4.key 2048
2. 生成证书请求文件(CSR)
openssl req -new -key idsrv4.key -out idsrv4.csr
3. 生成自签名证书
openssl x509 -req -days 365 -in idsrv4.csr -signkey idsrv4.key -out idsrv4.crt
4. 自签名证书与私钥合并成一个文件
openssl pkcs12 -export -in idsrv4.crt -inkey idsrv4.key -out idsrv4.pfx
5. 生成CER证书
openssl pkcs12 -nodes -nokeys -in idsrv4.pfx -passin pass:123456 -out idsrv4.cer
6. 查看证书内容
openssl x509 -in idsrv4.crt -text -noout
三、相关问题与解答
1. 如何更改生成的CER证书的有效期?
在生成CER证书时,可以通过添加-validity
参数来指定证书的有效期,要生成有效期为730天的证书,可以使用以下命令:
keytool -export -alias mykey -keystore C:/mykeystore.keystore -validity 730 -file C:/mykey.cer
对于OpenSSL,可以在生成自签名证书时通过添加-days
参数来指定有效期:
openssl x509 -req -days 730 -in idsrv4.csr -signkey idsrv4.key -out idsrv4.crt
2. 如何从已有的JKS文件中导出CER证书?
如果已有JKS文件,并希望从中导出CER证书,可以使用以下命令:
keytool -export -alias youralias -keystore yourkeystore.jks -file youroutput.cer
youralias
是密钥库中的别名,yourkeystore.jks
是密钥库文件的路径,youroutput.cer
是输出的CER证书文件名。
各位小伙伴们,我刚刚为大家分享了有关“cer证书生成工具”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/42477.html<