2017-08-07 146 views
0

我正在使用wso2 sso version 5.3。我正在配置新的jks密鑰來代替wso2carbon.jks並按照步驟操作。wso2密鑰存儲問題

  1. 使用自-signed證書和密鑰複製到文件夾${carbon.home}/repository/resources/security/test2.jks 命令生成的密鑰:- keytool -genkey -keyalg RSA -alias wso2carbon -keystore keystore.jks -validity 360

  2. 更新新carbon.xmltest2.jks文件。

    <KeyStore> 
        <!-- Keystore file location--> 
        <Location>${carbon.home}/repository/resources/security/test2.jks</Location> 
        <!-- Keystore type (JKS/PKCS12 etc.)--> 
        <Type>JKS</Type> 
        <!-- Keystore password--> 
        <Password>xxxxxx</Password> 
        <!-- Private Key alias--> 
        <KeyAlias>wso2carbon</KeyAlias> 
        <!-- Private Key password--> 
        <KeyPassword>xxxxxx</KeyPassword> 
    </KeyStore> 
    

錯誤消息:

異常當使用軸2庫從Java調用。 「sun.security.provider.certpath.SunCertPathBuilderException:無法找到要求的目標的有效證書路徑」。

代碼段:

public static void main (String[] args) throws Exception { 

    final String SERVER_URL = "https://XXXXXXX:9443/services/"; 
    //setting jks key 
    System.setProperty("javax.net.ssl.trustStore", "test2.jks"); 
    System.setProperty("javax.net.ssl.trustStorePassword", "XXXXX"); 
    System.setProperty("javax.net.ssl.trustStoreType", "JKS"); 

    try{  
     String cookie = null; 
     AuthenticationAdminStub authstub = new AuthenticationAdminStub(SERVER_URL+"AuthenticationAdmin"); 

     // Authenticates as a user having rights to add users. 
     if (authstub.login(XXXXXX, XXXXXX, null)) { 
      cookie = (String) authstub._getServiceClient().getServiceContext().getProperty( 
        HTTPConstants.COOKIE_STRING); 
      System.out.println("cookie "+cookie); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     System.exit(0); 
    } 
} 

堆棧跟蹤:

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at sun.security.validator.PKIXValidator.doBuild(Unknown Source) 
    at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) 
    at sun.security.validator.Validator.validate(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) 
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) 
    ... 42 more 
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source) 
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) 
    at java.security.cert.CertPathBuilder.build(Unknown Source) 
    ... 48 more 

回答

0

嘗試設置絕對路徑javax.net.ssl.trustStore