【问题标题】:Convert or import SSL certificate to java keystore将 SSL 证书转换或导入到 java 密钥库
【发布时间】:2018-07-16 13:33:16
【问题描述】:

我有一个 SSL 证书,我正尝试将其导入 Java 密钥库,以便将一些旧应用程序切换到 SSL。我对Java的一切都不熟悉。我有 .crt、.key 和 .ca 捆绑文件,但不知道它们的格式。

com.cabundle:

-----BEGIN CERTIFICATE-----
MIIEkjC....

com.crt:

-----BEGIN CERTIFICATE-----
MIIGDjCCBPag...

com.key:

-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBg.....

我已尝试遵循本指南:https://docs.oracle.com/cd/E35976_01/server.740/es_admin/src/tadm_ssl_convert_pem_to_jks.html,但我得到了各种垃圾错误,我无法从中做出任何事情。我就是不明白。

我的 java 配置文件需要这个:

# SSL configuration (disabled by default)
# ssl-enabled=true|false
# ssl-key-store=
# ssl-key-store-password=
# ssl-key-store-type=jks

我该怎么做?

【问题讨论】:

    标签: java ssl openssl


    【解决方案1】:

    这些是 PEM 格式的证书。在导入之前,您必须将它们合并为 PKCS12 格式的证书

    openssl pkcs12 -export -in com.crt -inkey com.key -out temp.p12 -name com -CAfile com.cabundle -caname root -chain
    

    确保您指定了密码 - keytool 不会导入无密码的 PKCS12 文件

    keytool -importkeystore -deststorepass [your-password-here] -destkeypass [your-password-here] -destkeystore out.jks -srckeystore temp.p12 -srcstoretype PKCS12 -srcstorepass password-created-in-last-step -alias whatever
    

    【讨论】:

    • 当我尝试在密钥库中导入密钥时出现此错误:keytool error: java.lang.Exception: Input not an X.509 certificate
    • 查看我的编辑 - 我认为 keytool 原生采用 PEM。它没有
    • “-alias com”部分有什么作用?我应该将“com”改回我的域名吗?我拥有的是 *.example.com 的通配符证书
    • alias 是密钥库中证书的名称。它可以是你想要的任何东西
    • 我假设我还必须导入 CA 证书和密钥文件?
    猜你喜欢
    • 2013-01-02
    • 2017-02-03
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2011-05-18
    相关资源
    最近更新 更多