Ressourcenadapter für den Client konfigurieren

Verwenden Sie die APIs WSSSignature und WSSSignPart, um die Signaturmethoden auszuwählen. Zu den Anforderungssignaturmethoden gehören die Signatur-, Kanonisierungs-, Digest- und Umsetzungsmethoden.

Vorbereitende Schritte

Zunächst müssen Sie über die WSS-APIs oder über Richtliniensätze, die Sie in der Administrationskonsole konfigurieren, angeben, welche Abschnitte der vom Client gesendeten Nachricht digital signiert sein müssen.

Informationen zu diesem Vorgang

Die folgende Tabelle beschreibt den Zweck dieser Informationen. Einige dieser Definitionen basieren auf der Spezifikation "XML-Signature", die Sie auf der folgenden Website finden: http://www.w3.org/TR/xmldsig-core.

Tabelle 1. Signaturmethoden. Verwenden Sie die Signaturmethoden, um Nachrichten zu sichern.
Name der Methode Beschreibung
Kanonisierungsalgorithmus Kanonisiert das Element <SignedInfo>, bevor die Informationen im Rahmen der Signaturoperation verarbeitet werden.
Signaturalgorithmus Berechnet den Signaturwert des kanonisierten Elements <SignedInfo>. Der Algorithmus, der für die Konfiguration des Senders der Clientanforderung ausgewählt wurde, muss mit dem Algorithmus, der in der Konfiguration des Empfängers der Serveranforderung ausgewählt wurde, übereinstimmen.
Umsetzungsmethode Setzt die zu signierenden Abschnitte um, bevor die Informationen im Rahmen der Signaturoperation verarbeitet werden.
Digest-Methode Berechnet den Digest-Wert der umgesetzten Abschnitte. Der Algorithmus, der für die Konfiguration des Senders der Clientanforderung ausgewählt wurde, muss mit den Algorithmen, die in der Konfiguration des Empfängers der Serveranforderung ausgewählt wurden, übereinstimmen.

Zum Konfigurieren der Signaturalgorithmusmethoden können Sie die WSS-APIs verwenden oder über die Administrationskonsole Richtliniensätze konfigurieren. Wenn Sie die WSS-APIs verwenden, müssen Sie mit den APIs WSSSignature und WSSSignPart die Nachrichtenabschnitte angeben, die digital signiert werden sollen, wenn Sie den Client für die Anforderungssignatur konfigurieren.

Die APIs WSSSignature und WSSSignPart führen die folgenden Schritte aus, um die Algorithmusmethoden für Signatur und signierte Abschnitte zu konfigurieren:

Vorgehensweise

  1. Für die Generatorbindung gibt die API WSSSignature die Signaturmethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Signaturmethoden:
    • WSSSignature.RSA_SHA1 (Standardwert): http://www.w3.org/2000/09/xmldsig#rsa-sha1
    • WSSSignature.HMAC_SHA1: http://www.w3.org/2000/09/xmldsig#hmac-sha1
    Für die WSS-APIs bietet WebSphere Application Server keine Unterstützung der digitalen DSA-SHA1-Signaturmethode http://www.w3.org/2000/09/xmldsig#dsa-sha1.
  2. Für die Generatorbindung gibt die API "WSSSignature" die Kanonisierungsmethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Kanonisierungsalgorithmen:
    • WSSSignature.EXC_C14N (Standardwert): Der exklusive Kanonisierungsalgorithmus http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSSignature.C14N: Der inklusive Kanonisierungsalgorithmus http://www.w3.org/2001/10/xml-c14n#
  3. Für die Generatorbindung gibt die API WSSSignPart die Digest-Methode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Digest-Methoden:
    • WSSSignPart.SHA1 (Standardwert): http://www.w3.org/2000/09/xmldsig#sha1
    • WSSSignPart.SHA256: http://www.w3.org/2001/04/xmlenc#sha256
    • WSSSignPart.SHA512: http://www.w3.org/2001/04/xmlenc#sha512
  4. Für die Generatorbindung gibt die API WSSSignPart die Umsetzungsmethode an. WebSphere Application Server unterstützt die folgenden vorkonfigurierten Umsetzungsalgorithmen:
    • WSSSignPart.TRANSFORM_EXC_C14N (Standardwert): http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSSignPart.TRANSFORM_XPATH2_FILTER: http://www.w3.org/2002/06/xmldsig-filter2
    • WSSSignPart.TRANSFORM_STRT10: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
    • WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE: http://www.w3.org/2000/09/xmldsig#enveloped-signature
    Für die WSS-APIs unterstützt WebSphere Application Server die folgenden Umsetzungsalgorithmen nicht:
    • http://www.w3.org/TR/1999/REC-xpath-19991116
    • http://www.w3.org/2002/07/decrypt#XML

Ergebnisse

Sie haben mit den WSS-APIs festgelegt, welche Algorithmusmethoden verwendet werden, um eine Nachricht digital zu signieren, wenn der Client eine Nachricht an den Server sendet.

Beispiel

Der folgende Beispielcode zeigt, wie die Signaturdaten, HMAC_SHA1 als Signaturmethode, C14N als Kanonisierungsmethode, SHA256 als Digest-Methode sowie EXC_C14N und TRANSFORM_STRT10 als Umsetzungsmethoden festgelegt werden:

	  // 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);
	  
	  	  // Kanonisierungsmethode festlegen
	  // STANDARD: WSSSignature.EXC_C14N
	  sig.setCanonicalizationMethod(WSSSignature.C14N);
	  
	  	  // Signaturmethode festlegen
	  // STANDARD: WSSSignature.RSA_SHA1
	  sig.setSignatureMethod(WSSSignature.HMAC_SHA1);

	  	  // Mit WSSSignPart angegebenen Abschnitt festlegen
	  WSSSignPart sigPart = factory.newWSSSignPart();
	
	  	  // Digest-Methode festlegen
 	  	  // STANDARD: WSSSignPart.SHA1
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  	  // Umsetzungsmethode hinzufügen
	  	  // STANDARD: WSSSignPart.TRANSFORM_EXC_C14N
	  	  sigPart.addTransformMethod(WSSSignPart.TRANSFORM_EXC_C14N);
	  	  sigPart.addTransformMethod(WSSSignPart.TRANSFORM_STRT10);

    // WSSSignPart zu WSSSignature hinzufügen
    sig.addSignPart(sigPart);	  
		  
	  	  // WSSSignature zu WSSGenerationContext hinzufügen
	  gencont.add(sig);
		
	  	  // WS-Security-Header generieren
	  gencont.process(msgcontext);

Nächste Schritte

Nachdem Sie den Client für die digitale Signatur der Nachricht konfiguriert und die Algorithmusmethoden ausgewählt haben, müssen Sie den Server für die Prüfung der digitalen Anforderungssignatur konfigurieren und die entsprechenden Algorithmusmethoden auswählen.

Konfigurieren Sie in der Administrationskonsole Richtliniensätze, um die Signaturprüfdaten und die Methoden auf dem Server zu konfigurieren.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_confwsssignalgorithms
Dateiname:twbs_confwsssignalgorithms.html