Domanda

Ho un client SOAP e anche un server SOAP utilizzando CXF.Ho un messaggio che firma funziona correttamente.Quando puntò il mio soap client in un server SOAP diverso utilizzando un apparecchio di sapone IBM, i messaggi di risposta contengono l'elemento SignatureConFirmation.Voglio assicurarmi che il mio server SOAP basato su CXF dà gli stessi risultati dei server di sapone di terze parti, quindi come configurare il mio server per abilitare quell'elemento?

Ecco come ho configurato il mio server:

signingProps.put(WSHandlerConstants.ACTION, "Timestamp Signature"); 
signingProps.put(WSHandlerConstants.SIGNATURE_PARTS, "{}{http://schemas.xmlsoap.org/soap/envelope/}Body ;" 
      + "{}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}" 
      + "Timestamp"); 
signingProps.put(WSHandlerConstants.SIG_KEY_ID, "IssuerSerial"); 

Properties keyStoreProps = new Properties(); 
keyStoreProps.put(LocalCryptoProvider.WS_CRYPTO_PROVIDER, 
    LocalCryptoProvider.class.getName()); 
keyStoreProps.put(LocalCryptoProvider.KEYSTORE_OBJECT, keyStore); 

WSS4JOutInterceptor outSigner = new WSS4JOutInterceptor(signingProps); 
cxfFactory.getOutInterceptors().add(new SAAJOutInterceptor()); 
cxfFactory.getOutInterceptors().add(outSigner); 
.

È stato utile?

Soluzione 2

Ho trovato la risposta giusta.

Nella mappa delle proprietà passata al WSS4Jout Intercettore e nel WSS4JinNinterCettore aggiungi abilita_signature_Confirmation, I.e.

signingProps.put(WSHandlerConstants.ENABLE_SIGNATURE_CONFIRMATION, "true" );

Questo deve essere impostato sia sul client che sul server o non funzionerà.Inoltre, se si abilita la conferma della firma sul client, ma non sul server, il client lancerà un'eccezione.

Altri suggerimenti

L'azione dovrebbe essere "abilitanatureConfirmation" che si prenderà cura di aggiungere l'elemento di conferma della firma alla risposta.

signingProps.put(WSHandlerConstants.ACTION, "enableSignatureConfirmation");
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top