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.
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
Ergebnisse
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.