Methoden für signierte Abschnitte über die WSSSignPart-API konfigurieren
Sie können die Informationen zu signierten Abschnitten für die Generatorbindung über die WSS-API konfigurieren. Zu den Algorithmen gehören die Digest- und die Umsetzungsmethoden.
Sie können die Nachrichtenintegrität durch die Konfiguration von signierten Abschnitten und Schlüsseldaten konfigurieren. 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.
Methoden
- Digest-Methode
- Definiert die Methode für den Digest-Algorithmus.
- Umsetzungsalgorithmus
- Legt die Umsetzungsalgorithmusmethode fest.
Digest-Algorithmen
Der Digest-Methodenalgorithmus wird im Element <Digest> angegeben. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Algorithmen:
Digest-Methode | Beschreibung |
---|---|
WSSSignPart.SHA1 (Standardwert) | Ein URI des Digest-Algorithmus SHA1: http://www.w3.org/2000/09/xmldsig#sha1 |
WSSSignPart.SHA256 | Ein URI des Digest-Algorithmus SHA256: http://www.w3.org/2001/04/xmlenc#sha256 |
WSSSignPart.SHA512 | Ein URI des Digest-Algorithmus SHA256: http://www.w3.org/2001/04/xmlenc#sha512 |
Umsetzungsalgorithmen
Der Umsetzungsmethodenalgorithmus wird im Element <Transform> angegeben. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Algorithmen:
Digest-Methode | Beschreibung |
---|---|
WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE | Ein URI des Umsetzungsalgorithmus "enveloped signature": http://www.w3.org/2000/09/xmldsig#enveloped-signature |
WSSSignPart.TRANSFORM_STRT10 | Ein URI des Umsetzungsalgorithmus "STR-Transform": http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform |
WSSSignPart.TRANSFORM_EXC_C14N (Standardwert) | Ein URI des Umsetzungsalgorithmus "Exc-C14N": http://www.w3.org/2001/10/xml-exc-c14n# |
WSSSignPart.TRANSFORM_XPATH2_FILTER | Ein URI des Umsetzungsalgorithmus "XPath2 Filter": http://www.w3.org/2002/06/xmldsig-filter2 |
Der Umsetzungsalgorithmus wird im Element <Transform> angegeben und definiert den Umsetzungsalgorithmus für den signierten Abschnitt.
- http://www.w3.org/TR/1999/REC-xpath-19991116
- http://www.w3.org/2002/07/decrypt#XML
Das folgende Beispiel zeigt WSS-API-Beispielcode für die Angabe der Signatur und der signierten Abschnitte, die Definition des Signierschlüssels und das Hinzufügen des Umsetzungsalgorithmus "STR-Transform" als signierte Abschnitte:
// Nachrichtenkontext abrufen
Object msgcontext = getMessageContext();
// 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);
// Mit WSSSignPart angegebenen Abschnitt festlegen
WSSSignPart sigPart = factory.newWSSSignPart();
// Mit WSSSignPart angegebenen Abschnitt festlegen
sigPart.setSignPart(WSSSignature.BODY);
// Mit WSSSignPart angegebene Digest-Methode festlegen
sigPart.setDigestMethod(WSSSignPart.SHA256);
// Mit WSSSignPart angegebene Umsetzungsmethode festlegen
sigPart.addTransform(WSSSignPart.TRANSFORM_STRT10);
// Mit WSSSignPart angegebenen Abschnitt festlegen
sig.addSignPart(sigPart);
// WSSSignature zu WSSGenerationContext hinzufügen
gencont.add(sig);
// WS-Security-Header generieren
gencont.process(msgcontext);