在Liberty配置文件中,我们如何删除默认密钥库并添加新的密钥库文件?在server.xml文件中,我们只有默认配置,我们有以下要求。
1)我们使用名为ccm.jks的ikeyman创建了一个新的密钥库文件 2)使用ikeyman打开ccm.jks密钥库文件并在“个人证书”内容下,创建一个新的自签名证书,其通用名称为服务器FQDN名称,并将密钥别名命名为“ccm”。现在,个人证书显示“ccm”证书。 (参见截图1) 2)我们使用名为ccmtrust.jks的ikeyman创建了一个新的信任库文件 3)然后我们使用新参数编辑server.xml值,如下所示。
<!-- Enable features -->
<featureManager>
<feature>monitor-1.0</feature>
<feature>jsp-2.2</feature>
<feature>servlet-3.0</feature>
<feature>ssl-1.0</feature>
<feature>appSecurity-2.0</feature>
<feature>adminCenter-1.0</feature>
</featureManager>
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" sslProtocol="SSL" enabledCiphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"/>
<keyStore id="defaultKeyStore" location="${server.config.dir}/resources/security/CCM.jks" type="JKS" password="changeme"/>
<keyStore id="defaultTrustStore" location="${server.config.dir}/resources/security/ccmtrust.jks" type="JKS" password="changeme"/>
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="9080"
httpsPort="9443" />
4)由于我们必须启用ssl信任我们的客户端数据库服务器,我们使用ikeyman,签署者证书会话(screenshot2)将数据库服务器自签名证书导入到创建的truststore.jks文件中。
5)所有这些设置我们重新启动了服务,当我们尝试连接数据库时,收到以下错误。
引起:java.security.cert.CertPathBuilderException:无法找到请求目标的有效证书路径 在com.ibm.security.cert.PKIXCertPathBuilderImpl.buildCertPath(PKIXCertPathBuilderImpl.java:654) 在com.ibm.security.cert.PKIXCertPathBuilderImpl.engineBuild(PKIXCertPathBuilderImpl.java:368) 在java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) 在com.ibm.jsse2.util.f.a(f.java:61)
如果我们错过了配置中的内容,请告知我们。
此外,我们无法确定我们所做的server.xml配置是否正在反映。 ?