Forzar TLS1.2 en JVM 1.7

En las comunicaciones como cliente, se puede forzar TLS1.2 mediante la línea de comandos o en JAVA_OPTIONS:

java -Dhttps.protocols=TLSv1.2

 

Guardar el certificado del servidor remoto

Se puede guardar el certificado de un servidor remoto utilizando OpenSSL:

echo -n | openssl s_client -connect $ADDRESS:$PORT | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$ADDRESS.cert

 

WSS4J, The signature or decryption was invalid

Securizar un servicio web con WS-Security es sencillo gracias a bilbiotecas como WSS4J.

Pero a veces hay problemas no muy claros, por ejemplo el siguiente (Axis2+Rampart+WSS4J):

Caused by: org.apache.ws.security.WSSecurityException: The signature or decryption was invalid
    at org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:419)
    at org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:111)
    at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:328)
    at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:245)
    at org.apache.rampart.RampartEngine.process(RampartEngine.java:166)
    at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)

Si se descarta que un componente intermedio (log, ...

Seguir leyendo

Identificación mediante certificado en OSB

En https://littlesnapfish.wordpress.com/2011/07/06/setting-up-x-509-token-identity-support-for-osb/ se muestran los pasos a dar para mapear un certificado que lelga en una petición a un usuario de WebLogic, gestionando de ese modo sus permisos de acceso.

Requiere de autenticación de doble vía (two way SSL).

Como desventaja decir que afecta a todo el sistema, no a servicios específicos.

Archivo anual