我试图在wso2is中设置一个新的密钥库,我按照2个指南进行操作:
在https://docs.wso2.com/display/Carbon443/Configuring+Keystores+in+WSO2+Products中它要更改sec.policy
中的密钥库,但该文件在IS 5.2.0中不存在
虽然指南没有谈论这些文件,但似乎使用了默认密钥库:
我有一个调用wso2is的webapp,使用-Djavax.net.ssl.trustStore=/path/to/newkeystore.jks -Djavax.net.ssl.trustStorePassword=mypassword
调用oauth2端点(https://myinternaldomain:9443/oauth2/token)时出现此错误:
TID:[1] [] [2017-01-10 13:30:14,505] @ tenant1.com [1] [IS] INFO {org.wso2.carbon.core.deployment.DeploymentInterceptor} - 部署 Axis2服务:wso2carbon-sts {tenant1.com [1]} TID:[1] [] [2017-01-10 13:30:14,536] admin@tenant1.com [1] [IS]错误 {org.wso2.carbon.core.deployment.DeploymentInterceptor} - 同时出错 更新STSDeploymentInterceptor中的wso2carbon-sts java.io.IOException:Keystore被篡改,或密码是 不正确 at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:780) at sun.security.provider.JavaKeyStore $ JKS.engineLoad(JavaKeyStore.java:56) at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224) at sun.security.provider.JavaKeyStore $ DualFormatJKS.engineLoad(JavaKeyStore.java:70) 在java.security.KeyStore.load(KeyStore.java:1445) 在org.wso2.carbon.core.util.KeyStoreManager.getKeyStore(KeyStoreManager.java:146)
我没有更改关于axis2.xml中的密钥库的任何内容,因为有关密钥库的所有信息都被注释了。
所有其他端点(soap enpoints)都可以正常使用SSL,并且一切正常使用localhost和默认wso2carbon.jks 但我不能让oauth2 / token端点使用新的jks。
感谢您的意见和建议。 此致
答案 0 :(得分:1)
我通过在java默认密钥库
中添加公钥来实现它 keytool -import -v -alias certalias -file newkeystore.pem -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit
并执行以下配置,该配置肯定应该在wso2is密钥库配置文档中!
http://xacmlinfo.org/2014/11/05/how-to-changing-the-primary-keystore-of-a-tenant-in-carbon-products/