Digitale Signaturmethoden mit der WSSSignature-API
Sie können die Signaturdaten für die Generatorbindung mit der WSS-API konfigurieren. Wählen Sie zum Konfigurieren des Clients für die Anforderungssignatur die digitalen Signaturmethoden aus. Zu den Algorithmusmethoden gehören die Signatur- und die Kanonisierungsmethoden.
Sie müssen Generatorsignaturdaten konfigurieren, um die Nachrichtenintegrität durch digitale Signatur von SOAP-Nachrichten zu schützen. Integrität bezieht sich auf die digitale Signatur, wohingegen sich Vertraulichkeit auf die Verschlüsselung bezieht. Integrität verringert das Risiko der Datenmanipulation, wenn Daten über ein Netz übertragen werden.
Nachdem Sie die digital zu unterzeichnenden Nachrichtenabschnitte angegeben haben, müssen Sie die für die digitale Signatur zu verwendende Methode angeben.
Methoden
- Signaturmethode
- Legt die Signaturalgorithmusmethode fest.
- Kanonisierungsmethode
- Legt die Kanonisierungsalgorithmusmethode fest.
Signaturalgorithmus
Die Signaturalgorithmen legen den Algorithmus fest, der für die Signatur des Zertifikats verwendet wird. Die Signaturalgorithmen geben den URI (Uniform Resource Identifiers) der Signaturmethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Algorithmen:
Algorithmus | Beschreibung |
---|---|
WSSSignature.HMAC_SHA1 | URI des Signaturalgorithmus HMAC: http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
WSSSignature.RSA_SHA1 (Standardwert) | URI des Signaturalgorithmus RSA: http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
Für die WSS-APIs unterstützt WebSphere Application Server den DSA-SHA1-Algorithmus "http://www.w3.org/2000/09/xmldsig#dsa-sha1" nicht.
Der für die Anforderungsgeneratorkonfiguration angegebene Signaturalgorithmus muss mit dem Algorithmus übereinstimmen, der für die Anforderungskonsumentenkonfiguration angegeben ist.
Kanonisierungsalgorithmen
Die Kanonisierungsalgorithmen geben den URI der Kanonisierungsmethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Algorithmen:
Algorithmus | Beschreibung |
---|---|
WSSSignature.EXC_C14N (Standardwert) | URI des exklusiven Kanonisierungsalgorithmus EXC_C14N: http://www.w3.org/2001/10/xml-exc-c14n# |
WSSSignature.C14N | URI des inklusiven Kanonisierungsalgorithmus C14N: http://www.w3.org/2001/10/xml-c14n# |
Der für die Anforderungsgeneratorkonfiguration angegebene Kanonisierungsalgorithmus muss mit dem Algorithmus übereinstimmen, der für die Anforderungskonsumentenkonfiguration angegeben ist.
Im Folgenden sehen Sie WSS-API-Beispielcode, der "HMAC_SHA1" als Signaturmethode und "C14n" als Kanonisierungsmethode angibt:
// WSSFactory-Instanz generieren
WSSFactory factory = WSSFactory.getInstance();
// WSSGenerationContext-Instanz generieren
WSSGenerationContext gencont = factory.newWSSGenerationContext();
// Callback-Handler generieren
X509GenerateCallbackHandler callbackHandler = new
X509GenerateCallbackHandler(
"",
"dsig-sender.ks",
"jks",
"client".toCharArray(),
"soaprequester",
"client".toCharArray(),
"CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP",
null);
// Für die Signatur zu verwendendes Sicherheitstoken generieren
SecurityToken token = factory.newSecurityToken(X509Token.class,
callbackHandler);
// WSSSignature-Instanz generieren
WSSSignature sig = factory.newWSSSignature(token);
// Kanonisierungsmethode festlegen
// STANDARD: WSSSignature.EXC_C14N
sig.setCanonicalizationMethod(WSSSignature.C14N);
// Signaturmethode festlegen
// STANDARD: WSSSignature.RSA_SHA1
sig.setSignatureMethod(WSSSignature.HMAC_SHA1);
// WSSSignature zu WSSGenerationContext hinzufügen
gencont.add(sig);
// WS-Security-Header generieren
gencont.process(msgcontext);