在登录屏幕上测试 Travelocity 示例应用程序时,选项 2 OpenID,我在客户端收到以下错误:
0x704:I/O 传输错误:对等端未经过身份验证
有关激活 SSL 协议(protocol)所需步骤的任何建议 Travelocity示例应用程序支持在Tomcat7下运行吗?
Tomcat7 日志中的更多详细信息:
SEVERE: Servlet.service() for servlet [ForwardingServlet] in context with path [/travelocity.com] threw exception [0x704: I/O transport error: peer not authenticated] with root cause
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at com.ibm.jsse2.ab.getPeerCertificates(ab.java:61)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at ...
感谢您的帮助。
最佳答案
由于WSO2IS默认包含自签名证书,因此您需要将其证书配置为示例应用程序的可信证书。我们可以为 Tomcat 服务器配置一个信任库文件。您可以将以下两个java参数添加到/bin目录下的“catalina.sh”文件中。
export JAVA_OPTS="-Djavax.net.ssl.trustStore=<PATH_TO_TRUST_STORE_FILE> -Djavax.net.ssl.trustStorePassword=<PASSWORD>"
举个例子。请注意,PATH_TO_TRUST_STORE_FILE 文件必须包含 WSO2 服务器的证书。
如果您的 WSO2 服务器证书的 CN 值不等于 WSO2 服务器的主机名,您也可能会遇到以下错误
hostname in certificate didn't match: !=
.因此,您还需要确保 CN 等于主机名。
关于ssl - WSO2 身份服务器示例 Travelocity OpenID 对等方未通过身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30082597/