Métodos de verificación de firma mediante la API WSSVerification
Puede verificar la información de firmado o de firma utilizando la API de WSS para el enlace del consumidor. Los métodos del algoritmo de firma y canonicalización se utilizan para el enlace de generador. La API WSSVerification se proporciona en el paquete com.ibm.websphere.wssecurity.wssapi.verification.
Para configurar la información de firmas del consumidor que permite proteger la integridad de los mensajes, en primer lugar, debe firmar digitalmente y luego verificar la firma de los mensajes SOAP. La integridad hace referencia a la firma digital mientras que la confidencialidad hace referencia al cifrado. La integridad disminuye el riesgo de que se modifiquen los datos mientras estos se transmiten por la red.
Métodos
- Método de firma
- Establece el método del algoritmo de firma.
- Método de canonicalización
- Establece el método del algoritmo de canonicalización.
El algoritmo que se especifica para la configuración del generador de solicitudes debe coincidir con el algoritmo que se especifica para la configuración del consumidor de respuestas.
Algoritmos de firma
Los algoritmos de firma especifican el algoritmo de verificación de firmas que se utiliza para firmar el certificado. Los algoritmos de firma especifican el URI (Uniform Resource Identifier) del método de verificación de firma. WebSphere Application Server admite los algoritmos preconfigurados siguientes:
Algoritmo | Descripción |
---|---|
WSSVerification.HMAC_SHA1 | Un URI del algoritmo de firma, HMAC: http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
WSSVerification.RSA_SHA1 (el valor predeterminado) | Un URI del algoritmo de firma, RSA: http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
WebSphere Application Server no da soporte al algoritmo para DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1
Algoritmos de canonicalización
Los algoritmos de canonicalización especifican el URI (Uniform Resource Identifier) del método de canonicalización. WebSphere Application Server admite los algoritmos preconfigurados siguientes:
Algoritmo | Descripción |
---|---|
WSSVerification.C14N | Un URI del algoritmo de canonicalización inclusivo, C14N: http://www.w3.org/2001/10/xml-c14n# |
WSSVerification.EXC_C14N (el valor predeterminado) | Un URI del algoritmo de canonicalización exclusivo, EXC_C14N: http://www.w3.org/2001/10/xml-exc-c14n# |
El ejemplo siguiente proporciona el código de la API de WSS de ejemplo que especifica la señal de seguridad X.509 para la verificación de firmas:
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// X509ConsumeCallbackHandler
X509ConsumeCallbackHandler callbackHandler = new
X509ConsumeCallbackHandler("dsig-receiver.ks",
"jks",
"server".toCharArray(),
certList,
java.security.Security.getProvider("IBMCertPath")46 );
// Establecer el componente de verificación
// Partes de verificación predeterminadas: Texto, cabecera WS-Addressing e indicación de la hora
// Algoritmo de cifrado de datos predeterminado: RSA-SHA1
// Algoritmo de conversión predeterminado: SHA1
// Algoritmo de canonicalización predeterminado: exc-c14n
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
// Validar la cabecera de WS-Security
concont.validate(msgctx);