Metody weryfikacji podpisu przy użyciu interfejsu API WSSVerification
Informacje o podpisywaniu lub podpisywaniu można zweryfikować przy użyciu interfejsu API WSS dla powiązania konsumenta. Metody algorytmów podpisu i kanonicalizacji są używane dla powiązania generatora. Interfejs API WSSVerification jest udostępniany w pakiecie com.ibm.websphere.wssecurity.wssapi.verification.
Aby skonfigurować informacje o podpisywaniu konsumenta w celu ochrony integralności komunikatów, należy najpierw podpisać cyfrowo, a następnie zweryfikować podpis dla komunikatów SOAP. Integralność odnosi się do podpisu cyfrowego, podczas gdy poufność odnosi się do szyfrowania. Integralność zmniejsza ryzyko modyfikacji danych podczas przesyłania danych w sieci.
Metody
- Metoda podpisu
- Służy do ustawiania metody algorytmu podpisywania.
- Metoda normalizacji
- Ustawia metodę algorytmu kanonicalizacji.
Algorytm określony dla konfiguracji generatora żądań musi być zgodny z algorytmem określonym dla konfiguracji konsumenta odpowiedzi.
Algorytmy podpisu
Algorytmy podpisu określają algorytm weryfikacji podpisu, który jest używany do podpisywania certyfikatu. Algorytmy podpisu określają identyfikatory URI (Uniform Resource Identifier) metody weryfikacji podpisu. Serwer WebSphere® Application Server obsługuje następujące wstępnie skonfigurowane algorytmy:
| Algorytm | Opis |
|---|---|
| WSSVerification.HMAC_SHA1 | Identyfikator URI algorytmu podpisywania, HMAC: http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
| WSSVerification.RSA_SHA1 (wartość domyślna) | Identyfikator URI algorytmu podpisywania, RSA: http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
Serwer WebSphere Application Server nie obsługuje algorytmu dla DSA-SHA1: http://www.w3.org/2000/09/xmldsig#dsa-sha1
Algorytmy normalizacji
Algorytmy normalizacji określają identyfikatory URI (Uniform Resource Identifier) metody kanonicalizacji. Serwer WebSphere Application Server obsługuje następujące wstępnie skonfigurowane algorytmy:
| Algorytm | Opis |
|---|---|
| WSSVerification.C14N | Identyfikator URI algorytmu inkluzymacji inkluzymowej, C14N: http://www.w3.org/2001/10/xml-c14n# |
| WSSVerification.EXC_C14N (wartość domyślna) | Identyfikator URI wyłącznego algorytmu normalizacji EXC_C14N: http://www.w3.org/2001/10/xml-exc-c14n# |
W poniższym przykładzie przedstawiono przykładowy kod interfejsu API WSS, który określa znacznik zabezpieczeń znacznika X.509 na potrzeby weryfikacji podpisu:
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 );
// Set the verification component
// DEFAULT verification parts: Body, WS-Addressing header, and Timestamp
// DEFAULT data encryption algorithm: RSA-SHA1
// DEFAULT digest algorithm: SHA1
// DEFAULT canonicalization algorithm: exc-c14n
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
// Validate the WS-Security header
concont.validate(msgctx);