Wenn Sie die Anforderungssignatur im Client konfigurieren möchten, müssen Sie während der Konfiguration des Clients angeben, welche
Nachrichtenabschnitte signiert werden sollen.
Vorbereitende Schritte
Wichtig: Es gibt eine wichtige Unterscheidung zwischen Anwendungen der Version 5.x und Anwendungen der
Version 6 und höher. Die Informationen
in diesem Artikel gelten nur für Anwendungen der Version 5.x, die in
WebSphere Application Server Version 6.0.x und höher verwendet werden.
Diese Informationen gelten nicht für Anwendungen der Version 6.0.x und höher.
Lesen Sie vor der Ausführung dieser Schritte einen der folgenden Artikel, um sich mit den
Registern
Sicherheitserweiterungen und
Portbindung im Web-Services-Client-Editor
eines Assembliertools vertraut zu machen.
Auf diesen beiden Registerkarten werden die
Erweiterungen für Web Services Security
bzw. die Bindungen für Web Services Security konfiguriert.
Informationen zu diesem Vorgang
Führen Sie beim Konfigurieren des Clients für die Signatur von Anforderungen
die folgenden Schritte aus, um anzugeben, welche Nachrichtenabschnitte signiert werden
sollen:
Vorgehensweise
- Starten Sie ein Assembliertool. Weitere Informationen finden Sie in den zugehörigen Informationen
zu Assembliertools.
- Klicken Sie auf .
- Klicken Sie auf .
- Klicken Sie mit der rechten Maustaste auf die Datei application-client.xml, wählen Sie aus, und klicken Sie anschließend auf das Register
WS-Erweiterung. Die Anzeige "Clientimplementierungsdeskriptor" erscheint.
- Erweitern Sie . Integrität
bezieht sich auf die digitale Signatur, wohingegen sich Vertraulichkeit auf die Verschlüsselung bezieht. Integrität
verringert das Risiko der Datenmanipulation, während die Daten im Internet übertragen werden. Weitere Informationen zur digitalen Signatur von
SOAP-Nachrichten finden Sie im Artikel Digitale XML-Signatur.
- Wählen Sie die zu signierenden Abschnitte der Nachricht aus. Klicken Sie dazu auf
Hinzufügen, und wählen Sie body, timestamp
oder SecurityToken aus. Die folgende Liste enthält Beschreibungen der Nachrichtenabschnitte:
- body
- Der Abschnitt der Nachricht, der die Benutzerdaten enthält.
- timestamp
- Die Zeitmarke bestimmt, ob die Nachricht basierend auf der Sende- und Empfangszeit gültig ist. Fahren Sie bei Auswahl von
timestamp mit dem Schritt Erstellte Zeitmarke hinzufügen
fort, um die erstellte Zeitmarke zur Nachricht hinzuzufügen.
- SecurityToken
- Das Sicherheitstoken authentifiziert den Client. Wenn Sie diese Option auswählen, wird die Nachricht signiert.
Sie können die Nachricht mit einer Zeitmarke digital signieren, wenn
Erstellte Zeitmarke hinzufügen ausgewählt und konfiguriert ist. Wenn die Authentifizierungsmethode
durch Anmeldekonfiguration ausgewählt ist, können Sie die Nachricht mit einem Sicherheitstoken
digital signieren.
- Optional: Erweitern Sie den Abschnitt Erstelle Zeitmarke hinzufügen, und wählen Sie diese Option
aus, wenn Sie der Nachricht eine Zeitmarke hinzufügen möchten. Sie können eine Verfallszeit für die Zeitmarke als weiteren Schutz vor Angriffen durch Nachrichtenaufzeichnung und -wiederholung angeben. Die lexikalische Darstellung
für Dauer ist das erweiterte Format nach [ISO 8601] PnYnMnDTnHnMnS:
- nY gibt die Anzahl der Jahre an.
- nM gibt die Anzahl der Monate an.
- nD gibt die Anzahl der Tage an.
- T ist das Trennzeichen zwischen Datum und Uhrzeit.
- nH gibt die Anzahl der Stunden an.
- nM gibt die Anzahl der Minuten an.
- nS gibt die Anzahl der Sekunden an. Die Anzahl der Sekunden kann
Dezimalstellen für beliebige Genauigkeit enthalten.
Wenn Sie beispielsweise eine Dauer von 1 Jahr, 2 Monaten, 3 Tagen, 10 Stunden
und 30 Minuten angeben möchten, ist das Format
P1Y2M3DT10H30M.
In der Regel konfigurieren Sie für Nachrichten eine Zeitmarke für ca. 10 bis 30 Minuten.
10 Minuten werden beispielsweise als P0Y0M0DT0H10M0S
dargestellt. Der Uhrzeit und dem Datum wird das Zeichen P vorangestellt.
Ergebnisse
Wichtig: Wenn Sie die Signaturdaten des Clients und des Servers
richtig konfigurieren, bei der Ausführung des Clients jedoch den Fehler
Soap body not
signed (SOAP-Body nicht signiert) empfangen, müssen Sie möglicherweise
den Actor konfigurieren. Sie können den Actor an den folgenden Positionen auf dem Client
im Web-Services-Client-Editor eines Assembliertools konfigurieren:
- Klicken Sie auf , und geben Sie die Actor-Informationen im Feld Actor-URI an.
- Klicken Sie auf , und geben Sie die Actor-Informationen im Feld Actor an.
Sie müssen dieselben Actor-Zeichenfolgen für den Web-Service auf dem Server, der
die Anforderung verarbeitet und die Antwort zurücksendet, konfigurieren. Konfigurieren Sie den Actor an den folgenden Stellen:
- Klicken Sie auf .
- Klicken Sie auf ,
und geben Sie die Actor-Informationen im Feld Actor an.
Die Actor-Informationen auf dem Client und dem Server müssen auf exakt dieselbe
Zeichenfolge verweisen. Wenn die Actor-Felder auf Client und Server übereinstimmen, wird
die Anforderung bzw. Antwort verarbeitet und nicht an einen Downstream-Server
weitergeleitet.
Möglicherweise unterscheiden sich die Actor-Felder, wenn Sie Web-Services verwenden, die als Gateway zu anderen Web-Services fungieren. In allen
anderen Fällen müssen Sie jedoch sicherstellen, dass die Actor-Daten auf Client und
Server übereinstimmen. Wenn Web-Services als Gateway fungieren und für sie nicht
derselbe Actor
konfiguriert ist wie für die Anforderung, die durch das Gateway weitergeleitet wird,
verarbeiten Web-Services die Nachricht von einem Client nicht. Stattdessen senden
diese Web-Services die Anforderung an einen Downstream-Server. Der Downstream-Prozess,
der die richtige Actor-Zeichenfolge enthält, verarbeitet die Anforderung.
Für die Antwort ergibt sich dieselbe Situation. Daher müssen Sie unbedingt
überprüfen, ob die Actor-Felder des Clients und des Servers synchronisiert sind.
Nächste Schritte
Nachdem Sie die digital zu unterzeichnenden Nachrichtenabschnitte angegeben haben, müssen Sie
die für die digitale Signatur zu verwendende Methode angeben. Weitere Informationen finden Sie im Artikel
Client für Signatur der Anforderungen konfigurieren: Methode für digitale Signatur auswählen.