wso2 AS没有默认localhost证书的SSL错误

时间:2014-04-09 16:33:09

标签: ssl wso2 ssl-certificate wso2wsas

我正在尝试使用托管在WSO2 AS上的安全Web服务,因此我在服务器的现有wso2carbon.jks文件中创建了一个新证书,并将其添加到客户端JVM cacerts但是我收到此错误:

java.security.cert.CertificateException:没有主题替代名称

然而,如果我在将新证书添加到客户端JVM cacerts之后创建一个全新的wso2carbon.jks并覆盖服务器中的旧证书,我可以使用安全服务,但AS中的其他东西停止像数据源一样工作,我尝试添加新证书到服务器中的client-truststore.jks,但数据源仍然无法正常工作。我正在使用AS 5.0.0 提前谢谢。

3 个答案:

答案 0 :(得分:0)

您的客户端正在尝试根据证书中的域名或IP检查服务器的域名或IP,以确保它到达正确的服务器。您需要创建一个新证书,该证书的主题备用名称等于服务器的域名或IP,无论客户端使用哪个连接。

答案 1 :(得分:0)

您是否更改了AS的主机名(在carbon.xml中)?

第一案: 默认情况下,wso2carbon.jks将其CN作为localhost,因此如果使用不同的主机名,则需要更改密钥库,否则需要使用localhost调用托管Web服务。

第二案: 如果您使用适当的CN更改(创建并替换)AS的wso2carbon.jks,则需要提取其公共证书并将其导入cacerts,以及与AS联系的所有其他碳服务器的client-truststore.jks。 / p>

HTH,

DarRay

答案 2 :(得分:0)

添加自己的证书时,需要修改WSO2配置文件以指向证书。基本上,您需要修改repository/conf/carbon.xmlrepository/conf/tomcat/catalina-server.xml。对于ESB,您还需要修改repository/conf/axis2/axis2.xml。所需的更改在此blog中进行了描述。

您遇到的数据源错误是由于证书的更改。原因是,WSO2在创建数据源时使用当前密钥库证书加密数据源密码。要修复错误,您需要删除数据源,然后重新添加它们。不需要重新创建数据服务。