为了克服专业知识的怀疑,我只是解释一下我们能够生成CSR和密钥的过程?
# 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发送到服务器权限以将其添加到他们的服务器中。之后,服务器权限向我们发送他们的rootca,subca(intermediate 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文件的keytool和 openssl 命令,提取/列出 .jks密钥存储配置作为文件的一部分.txt,将默认别名更改为预期的别名,使用openssl命令将.p12证书转换为.cer,配置/导入root-ca和中间 CA证书作为.jks密钥存储文件的一部分。
keytool命令,用于创建条目类型为PrivateKeyEntry的my_keystore.jks文件
keytool -importkeystore -srckeystore "D:CertificatesDLOMTE.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
用于更改my_keystore.jks文件中默认别名的keytool命令
keytool -changealias -alias "<ALIAS NAME AS IN THE KEYSTORE>" -destalias "at oces - prod" -keystore my_keystore.jks
openssl命令将.p12证书转换为.cer
openssl pkcs12 -in "D:CertificatesDLOMTE.p12" -clcerts -nokeys -out "D:CertificatesDLOMTE.cer"
keytool命令,用于将rootca证书作为具有所需别名的my_keystore.jks文件的一部分导入
keytool -import -trustcacerts -alias "at oces - prod - rootca" -file "D:CertificatesOCESPrimaryCA-RootCA.cer" -keystore my_keystore.jks
keytool命令,用于将中间型证书作为具有所需别名的my_keystore.jks文件的一部分导入
keytool -import -trustcacerts -alias "at oces - prod - intermediateca" -file "D:CertificatesOCESPrimaryCA-IntermediateCA.cer" -keystore my_keystore.jks