将证书从pem转换为jks

Nar*_*arf 10 java ssl certificate jks pem

我必须将pem格式的证书转换为java密钥库.

在Windows服务器上使用这个tomcat

我有这些文件:

我试图结合pem文件(通过将两个文件组合在一起链接在一起)并将其与openssl转换成一个

  • .der文件并使用keytool将其导入新的密钥库
  • 与.p12相同
  • 直接导入到密钥库

我也试着改变了

    -----BEGIN ENCRYPTED PRIVATE KEY-----
    ...
    -----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

    -----BEGIN RSA PRIVATE KEY-----
    ...
    -----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

并尝试了以上3种方式

我有什么办法可以获得工作证书?

编辑:

我将cert_public_key.pem和cert_private_key.pem组合到cert_comb.pem

    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN ENCRYPTED PRIVATE KEY-----
    ...
    -----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

dav*_*085 27

您不清楚合并了哪些文件,但是应该使用openssl将证书和私钥组合到PKCS#12:

cat cert_public_key.pem cert_private_key.pem >combined.pem
openssl pkcs12 -export -in combined.pem -out cert.p12
Run Code Online (Sandbox Code Playgroud)

或者在飞行中但是(更新:)私钥必须是第一个:

cat cert_private_key.pem cert_public_key.pem | openssl pkcs12 -export -out cert.p12 
Run Code Online (Sandbox Code Playgroud)

如果您的证书需要任何连锁证书 - 当您提交CSR并且他们颁发证书时,CA应该告诉您这一点 - 现在最容易包括它(他们).

然后(1)一些 Java程序实际上可以直接使用pkcs12作为密钥库,但(2)如果你需要或更喜欢JKS使用keytool:

keytool -importkeystore -srckeystore cert.p12 -srcstoretype pkcs12 -destkeystore cert.jks 
Run Code Online (Sandbox Code Playgroud)

如果您关心生成的JKS中的别名,最容易在转换后修复它.

另外:只更改加密PEM中的标签并不会解密它,也不会将标签从通用PKCS#8更改为RSA实际上更改数据以匹配(并且它们是不同的,尽管只是一点点).如果您确实需要具有解密私钥的单独PEM文件:

openssl pkey -in encryptedpk8 -out clearpk8.pem # 1.0.0 up
openssl pkcs8 -in encryptedpk8 -out clearpk8.pem # 1.0.0 up 
openssl pkcs8 -topk8 -nocrypt -in encryptedpk8 -out clearpk8.pem # below 1.0.0
openssl rsa -in encryptedpk8 -out clearrsa.pem
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

44919 次

最近记录:

8 年 前