java - 如何创建csr、key、c​​rt并将crt、rootca、subca导入jks?

标签 java bash openssl keytool jks

为了克服专业知识的疑问,我只是解释一下我们能够生成csr key 的过程?

# generate a new private key and certificate signing request
openssl req -out chorke.csr -new -newkey rsa:2048 -nodes \
-keyout chorke.key

请确认谁负责创建crt,是客户端还是服务器?这里我们充当客户端,如果我们必须从csr key 创建crt,那么我们就可以创建chorke.crt,如下所示:

# generate certificate using csr & key
openssl x509 -req -in chorke.csr -signkey chorke.key \
-out chorke.crt

如果服务器机构负责创建chorke.crt,那么可以指导我们执行该过程吗?否则,我们可以将 chorke.crt 发送到服务器权限以将其添加到他们的服务器。之后,服务器权威机构向我们发送他们的rootcasubca(中间ca)和chorke.crt。然后我们必须将它们导入到新的 client.jks 中,如下所示:

keytool -storepass storepasswd -importcert -keystore client.jks \
-trustcacerts -alias rootca -file rootca.cer

keytool -storepass storepasswd -importcert -keystore client.jks \
-trustcacerts -alias subca -file subca.cer

keytool -storepass storepasswd -importcert -keystore client.jks \
-alias chorke -file chorke.crt

之后我们就能够运行java程序如下,并导致错误的证书错误

java \
-Djavax.net.ssl.trustStore=./client.jks \
-Djavax.net.ssl.trustStorePassword=storepasswd \
-Djavax.net.ssl.keyStore=./client.jks \
-Djavax.net.ssl.keyStorePassword=storepasswd \
-cp ./lib/*:./bin ChorkeServerTest

上面这个过程有什么问题吗?在这种情况下,我们希望得到专业人士的建议,指出勘误表并指导我们从生成csr到导入jks并成功运行java程序

最佳答案

请在以下系列中找到用于从 .p12 证书创建 .jks 文件的 keytoolopenssl 命令,提取/列出 .jks keystore 配置作为 .txt 文件的一部分,将默认别名更改为预期别名,使用 openssl 命令将 .p12 证书转换为 < strong>.cer,配置/导入root-caintermediate-ca 证书作为.jks key 存储文件的一部分。

keytool 命令创建 my_keystore.jks 文件,条目类型为 PrivateKeyEntry

keytool -importkeystore -srckeystore "D:\Certificates\DLOMTE.p12" -srcstoretype pkcs12 -destkeystore "my_keystore.jks" -deststoretype jks

keytool 命令列出/提取 my_keystore.jks 配置作为 my_keystore.txt 文件

keytool -list -v -keystore my_keystore.jks > my_keystore.txt

keytool 命令更改 my_keystore.jks 文件中的默认别名

keytool -changealias -alias "<ALIAS NAME AS IN THE KEYSTORE>" -destalias "at oces - prod" -keystore my_keystore.jks

openssl命令将.p12证书转换为.cer

openssl pkcs12 -in "D:\Certificates\DLOMTE.p12" -clcerts -nokeys -out "D:\Certificates\DLOMTE.cer"

keytool 命令用于导入 rootca 证书作为具有所需别名的 my_keystore.jks 文件的一部分

keytool -import -trustcacerts -alias "at oces - prod - rootca" -file "D:\Certificates\OCESPrimaryCA-RootCA.cer" -keystore my_keystore.jks

keytool 命令用于导入 intermediateca 证书作为具有所需别名的 my_keystore.jks 文件的一部分

keytool -import -trustcacerts -alias "at oces - prod - intermediateca" -file "D:\Certificates\OCESPrimaryCA-IntermediateCA.cer" -keystore my_keystore.jks

关于java - 如何创建csr、key、c​​rt并将crt、rootca、subca导入jks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49124091/

相关文章:

linux - OpenSSL 1.0.0l 编译错误

regex - 具有特殊字符的企业社会责任主题摘录

java - Grails 与 Spring

java - 有没有办法同时运行 Bamboo 测试?

bash - 使用 Perl 特殊字符替换 Perl 中的变量

mysql - 如何在 bash 脚本中捕获 mysqldump 错误?

java - 设置 Java XML-RPC Servlet

java - 两个输入之间的斐波那契数

linux - 连接变量的问题,cat 和 cut 命令的结果

azure-devops - Visual Studio DevOps 管道中的错误解密错误(用于工作)