我使用创建了一个CSR文件


  openssl req -nodes -newkey rsa:2048 -keyout yourdomain.key -out yourdomain.csr –sha256


它创建了一个CSR文件和一个密钥文件。我将CSR文件提交给了CA。
他们以单个yourdomain.crt一个文件作为响应。

我试图通过以下方式将yourdomain.crt导入到我的java的cacert中:


  keytool-导入-keystore /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/security/cacerts -file〜/ Desktop / user / yourdomain.crt -alias yourdomain


现在,我对如何生成密钥库(jks文件)感到困惑。我是否使用相同的yourdomain.crt?
我应该使用什么命令?

我的春季启动程序包括

 File trustStoreFile = new File(CACERTS_PATH);
        File keyStoreFile = new File(JKS_PATH);
        KeyStore ks = KeyStore.getInstance("JKS");
        ks.load(new FileInputStream(keyStoreFile), KEY_PASS.toCharArray());
        return SSLContextBuilder.create()
                .useProtocol("TLS")
                .loadKeyMaterial(ks, KEY_PASS.toCharArray())
                .loadTrustMaterial(trustStoreFile, TRUST_PASS.toCharArray())
                .build();


因此,我需要一个cacerts路径,我相信这是我的jdk中的cacerts,并且密码是在提示输入时输入的密码。

现在如何为它生成密钥库文件?

我是否需要为Spring Boot添加server.ssl属性?

最佳答案

首先,您必须将yourdomain.crt转换为.p12格式,为此,请在openssl终端上编写以下命令

pkcs12 -export -in yourdomain.crt -inkey yourdomain.key -chain -CAfile rootCA.pem -name “localhost” -out my.p12


哪里,
rootCA.pem =您必须创建它,然后在openssl上执行以下命令,

step 1 : genrsa -des3 -out rootCA.key 2048 and hit enter

 you will get rootCA.key file.

step 2 : req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem


yourdomain.key =您必须通过在openssl上输入以下命令来创建它,

req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config
server.csr.cnf


哪里,
 server.csr.cnf文件包含此文件,您可以在其中写入

authorityKeyIdentifier = keyid, issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]

DNS.1 = localhost
IP.1=127.0.0.1
IP.2 = 192.168.1.XX
IP.3 = 192.XXX.XX.XXX
IP.4 = 192.XX.XX.XX and soon


server.csr和server.key文件已创建。

完成所有步骤后,您将获得.p12格式文件,现在您必须将.p12文件格式转换为keystore.jks文件格式,以在cmd上编写以下命令(在管理模式下打开)

Keytool -importkeystore -deststorepass MY-KEYSTORE-PASS -destkeystore my-keystore.jks
-srckeystore my.p12 -srcstoretype PKCS12

10-08 03:04