Métodos de Verificação de Assinatura que Utilizam a WSSVerification API
É possível verificar a assinatura e as informações sobre a assinatura que utiliza a WSS API para a ligação do consumidor. Os métodos de algoritmo de canonicalização e de assinatura são utilizados para a ligação do gerador. A WSSVerification API é fornecida no pacote com.ibm.websphere.wssecurity.wssapi.verification.
Para configurar informações sobre assinatura do consumidor para proteger a integridade da mensagem, primeiro assine digitalmente e verifique a assinatura para as mensagens SOAP. A integridade refere-se à assinatura digital, enquanto que a confidencialidade refere-se à criptografia. A integridade diminui o risco de modificação de dados quando você transmite dados pela rede.
Métodos
- Método de assinatura
- Configura o método do algoritmo de assinatura.
- Método de Canonicalização
- Configura o método do algoritmo de canonicalização.
O algoritmo especificado para a configuração do gerador de pedido deve corresponder ao algoritmo especificado para a configuração do consumidor de resposta.
Algoritmos de assinatura
Os algoritmos de assinatura especificam o algoritmo de verificação de assinatura utilizado para assinar o certificado. Os algoritmos de assinatura especificam o URI (Identificador Uniforme de Recursos) do método de verificação de assinatura. O WebSphere Application Server suporta os seguintes algoritmos pré-configurados:
Algoritmo | Description |
---|---|
WSSVerification.HMAC_SHA1 | Um URI do algoritmo de assinatura, HMAC: http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
WSSVerification.RSA_SHA1 (o valor padrão) | Um URI do algoritmo de assinatura, RSA: http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
O WebSphere Application Server não suporta o algoritmo para DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1
Algoritmos de Canonicalização
Os algoritmos de canonicalização especificam o URI (Identificador Uniforme de Recursos) do método de canonicalização. O WebSphere Application Server suporta os seguintes algoritmos pré-configurados:
Algoritmo | Description |
---|---|
WSSVerification.C14N | Um URI do algoritmo de canonicalização inclusive, C14N: http://www.w3.org/2001/10/xml-c14n# |
WSSVerification.EXC_C14N (o valor padrão) | Um URI do algoritmo de canonicalização exclusivo EXC_C14N: http://www.w3.org/2001/10/xml-exc-c14n# |
O exemplo a seguir fornece o código de amostra da WSS API que especifica o token de segurança X.509 para verificação de assinatura:
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 );
// Configurar o componente de verificação
// Partes de verificação PADRÃO: Corpo, Cabeçalho de WS-Addressing e Registro de data e hora
// Algoritmo de criptografia de dados PADRÃO: RSA-SHA1
// Algoritmo de compilação PADRÃO: SHA1
// Algoritmo de canonicalização PADRÃO: exc-c14n
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
// Validar o cabeçalho do WS-Security
concont.validate(msgctx);