【发布时间】:2013-07-15 17:47:03
【问题描述】:
我使用以下步骤创建了一个带有一对私钥/公钥的新 Java 密钥库,供具有 TLS 的 Java(内部)服务器使用。请注意证书是自签名的:
1) 使用 AES256 生成密钥
openssl genrsa -aes256 -out server.key 1024
2) 为 CA 生成证书请求
openssl req -x509 -sha256 -new -key server.key -out server.csr
3) 生成自签名有效期 10 年
openssl x509 -sha256 -days 3652 -in server.csr -signkey server.key -out selfsigned.crt
4) 使用KeyStoreExplorer 之类的程序将这对(私钥和自签名证书)导入新的 JKS 中
这可行,但我想在不使用 GUI 的情况下实现最后一步。
我只知道如何导入自签名证书:
// create the keystore and import the public key. THIS WILL NOT IMPORT THE PRIVATE KEY SO THE KEYSTORE CAN'T BE USED ON THE SERVER TO MAKE THE TLS CONNECTION
/usr/java/jdk1.6.0_45/bin/keytool -import -alias myservercert -file server.crt -keystore mykeystore.jks
所以问题是:如何在不使用 GUI 的情况下创建 Java KeyStore 并同时导入带有公钥和私钥的证书?
【问题讨论】:
-
也许这个“ImportKey”Java 程序可以在没有 GUI 的情况下为您完成这项工作:agentbob.info/agentbob/79-AB.html
-
如果目标系统是Java,则根本不需要使用OpenSSL,只需keytool即可。例如,请参阅 JSSE 参考指南或 keytool 的工具文档。
标签: java ssl x509certificate keytool