0

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

java.security.cert.CertificateException:不存在主题替代名称

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

4

3 回答 3

1

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

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

于 2014-04-13T11:09:38.560 回答
1

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

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

第二种情况:如果你用适当的CN改变(创建和替换)了AS的wso2carbon.jks,你需要提取它的公共证书并将其导入cacerts,以及所有其他与之联系的碳服务器的client-truststore.jks作为。

高温下,

达雷

于 2014-04-10T05:44:06.290 回答
0

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

于 2014-04-09T18:46:50.087 回答