在Java KeyStore中导入私钥/公证书对

金斯顿

我使用以下步骤创建了一个带有一对私钥/公钥的新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并同时使用公共密钥和私有密钥导入证书?

格里格

使用私有密钥和公共证书,您需要首先创建一个PKCS12密钥库,然后将其转换为JKS。

# Create PKCS12 keystore from private key and public certificate.
openssl pkcs12 -export -name myservercert -in selfsigned.crt -inkey server.key -out keystore.p12

# Convert PKCS12 keystore into a JKS keystore
keytool -importkeystore -destkeystore mykeystore.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias myservercert

要验证JKS的内容,可以使用以下命令:

keytool -list -v -keystore mykeystore.jks

如果这不是一个自签名证书,则可能要遵循此步骤,导入证书链,该证书链通向受信任的CA证书。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java Keystore私钥导入

来自分类Dev

使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

来自分类Dev

使用java.security.KeyStore将椭圆曲线证书和私钥导入Java Keystore

来自分类Dev

java-需要从jks(java keystore)导入私钥

来自分类Dev

公证书的指纹是否唯一?

来自分类Dev

在Java cacerts中导入根证书和中间证书的正确方法

来自分类Dev

如何创建自己的自签名根证书和要在Java密钥库中导入的中间CA?

来自分类Dev

为什么我需要在Java中导入服务器证书

来自分类Dev

为什么我需要在Java中导入服务器证书

来自分类Dev

在JRuby中导入Java类

来自分类Dev

在Tomcat中导入证书

来自分类Dev

从证书和私钥导入证书到windows

来自分类Dev

在Eclipse中导入类/ Java文件

来自分类Dev

如何在Eclipse中导入Java库?

来自分类Dev

在C#中使用与在Java中导入

来自分类Dev

在与Java文件相同的目录中导入.dll

来自分类Dev

无法在Java中导入子包

来自分类Dev

在C#中使用与在Java中导入

来自分类Dev

如何在Java中导入Scala包?

来自分类Dev

在Grails中导入/使用Java类

来自分类Dev

在Scala中导入Java包是否可选?

来自分类Dev

忽略在Java中导入MySQL的空间

来自分类Dev

在Java中导入本地库错误

来自分类Dev

在Java中导入LinkedList时出现错误

来自分类Dev

如何在Java中导入库

来自分类Dev

如何在eclipse中导入java项目?

来自分类Dev

如何在java中导入包?

来自分类Dev

如何在Java KeyStore中加载多个SSL证书?

来自分类Dev

以编程方式将证书添加到Java KeyStore的选项