2016-03-21 11 views
0

私は、X.509証明書をバイナリセキュリティトークンとしてSOAP応答ヘッダーに挿入するサーバーと通信しています。それに応じてWSS4JInInterceptorをどうすれば設定できますか?私はそれがバイナリセキュリティから証明書を抽出するために再構成することができますどのようにApache CXF - SOAPヘッダーからサーバーのx.509証明書を抽出するようにWSS4Jを構成します。

org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin 
org.apache.ws.security.crypto.merlin.keystore.type=jks 
org.apache.ws.security.crypto.merlin.keystore.password=changeit 
org.apache.ws.security.crypto.merlin.keystore.alias=ver2 
org.apache.ws.security.crypto.merlin.file=certs/kontaktinfo-server-test.jks 

:ここ

は、証明書がJKSキーストーンに

// for incoming messages: Signature and Timestamp validation. Response is Encrypted 
     inProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.SIGNATURE + " " + WSHandlerConstants.TIMESTAMP + " " + WSHandlerConstants.ENCRYPT); 
     inProps.put(WSHandlerConstants.SIG_KEY_ID, "DirectReference"); 
     inProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, ClientKeystorePasswordCallbackHandler.class.getName()); 
     inProps.put(WSHandlerConstants.SIG_PROP_FILE, "server_sec.properties"); 
     inProps.put(WSHandlerConstants.DEC_PROP_FILE, "client_sec.properties"); 

     wss4JInInterceptor = new WSS4JInInterceptor(inProps); 

server_sec.propertiesことを期待私のコードです代わりにトークン?

答えて

1

レスポンスがセキュリティヘッダーの証明書を参照する場合、WSS4Jは構成の変更を必要とせずにWSS4Jを処理します。ただし、証明書の信頼を検証するには、少なくともトラストストアを構成する必要があります。だからあなたの "署名"キーストア設定は、少なくとも署名を検証するために使われた証明書の発行証明書を持っていなければなりません。

関連する問題