ssl - Liberty Websphere 上没有共同的密码套件

标签 ssl openssl websphere ibm-mobilefirst websphere-liberty

我尝试在具有自签名 CA 的 Websphere-Liberty 服务器上设置 SSL,但我不断收到 SSLHandshakeException。我不是 SSL 专家,所以可能我只是忘记了一些事情。

以下是有关我的设置的一些详细信息:

product = WebSphere Application Server 8.5.5.0 (wlp-1.0.3.20130510-0831)
java.version = 1.7.0_51
os = Windows 8 (6.2; amd64) (en_US)

我成功部署了worklight应用程序中心war,并且可以通过浏览器访问它。当我尝试通过 https 访问应用程序中心时,出现以下异常:

[9/1/14 19:07:11:799 EEST] 00000021 com.ibm.ws.channel.ssl.internal.SSLHandshakeErrorTracker     E CWWKO0801E: Unable to initialize SSL connection. Unauthorized access was denied or security settings have expired. Exception is javax.net.ssl.SSLHandshakeException: no cipher suites in common

我的 server.xml 中有以下配置

<feature>ssl-1.0</feature>
<keyStore id="defaultKeyStore" password="trasys" />

添加 keystore 属性后,Websphere 会生成带有默认证书的 keystore 文件 (key.jks)。我使用 java keytool 实用程序删除了证书,并添加了我自己的自签名 CA 证书。该证书是使用以下 openssl 命令在 cygwin 中生成的(如以下 stackoverflow 票证所示: Is a signed SSL certificate required for Worklight development? ):

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

要将证书添加到空 keystore ,我使用了以下命令:

keytool -import -trustcacerts -alias mydomain -file certificate.crt -keystore keystore.jks

这基本上就是我到目前为止所尝试的,有人知道我错过了什么吗?

最佳答案

您仅使用您的程序导入公共(public)证书,而不导入私钥。您的 keystore 中需要私钥。
您可以使用以下解决方案:

关于ssl - Liberty Websphere 上没有共同的密码套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620180/

相关文章:

c++ - OpenSSL SSL_read 故障

qt - Qt 4.6 中的 FTPS (FTP-SSL)

java - 将 Equinox 3.2.1 嵌入到 WebSphere 中

c# - 使用 c# Webclient 通过 https 请求 html

authentication - 为什么证书在 SSL 认证中不是 secret

具有特定密码的 Node.js TLS 请求

web-applications - WAS 7 检查 servlet 请求

silverlight - WCF RIA 服务和通过 SSL 通信

reactjs - Heroku 中的 Http 到 Https 重定向或如何安装 react-https-redirect?

java - LOG4J 作为单例,在服务器停止和启动时关闭附加程序(尝试附加到关闭的附加程序)