wso2is - 添加新的密钥库

时间:2017-01-10 13:44:05

标签: ssl wso2is oauth2

我试图在wso2is中设置一个新的密钥库,我按照2个指南进行操作:

https://docs.wso2.com/display/Carbon443/Configuring+Keystores+in+WSO2+Products中它要更改sec.policy中的密钥库,但该文件在IS 5.2.0中不存在

虽然指南没有谈论这些文件,但似乎使用了默认密钥库:

  • CONF /同一性/ EndpointConfig.properties
  • CONF /安全/ secret-conf.properties
  • CONF /安全/ cipher-text.properties

我有一个调用wso2is的webapp,使用-Djavax.net.ssl.trustStore=/path/to/newkeystore.jks -Djavax.net.ssl.trustStorePassword=mypassword

在JVM中添加了密钥库

调用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。

感谢您的意见和建议。 此致

1 个答案:

答案 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/