Richtliniensatz und Bindungen für die digitale XML-Signatur mit client- und providerspezifischen Bindungen konfigurieren

Sie können einen angepassten Richtliniensatz und anwendungsspezifische Bindungen erstellen, die die Verwendung der digitalen XML-Signatur zum Signieren des Hauptteils der SOAP-Anforderungs- und -antwortnachrichten festlegen.

Vorbereitende Schritte

Der Service-Provider und -Client, den Sie konfigurieren, muss in der Anwendung "JaxWSServicesSamples" enthalten sein. Weitere Informationen dazu, wie Sie diese Anwendung anfordern und installieren, finden Sie im Artikel Auf Beispiele zugreifen.

Verwenden Sie die folgende Tracespezifikation auf Ihrem Server, damit Sie künftige Konfigurationsprobleme, die unter Umständen auftreten, beheben können:
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all: 
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all: 
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:

Informationen zu diesem Vorgang

Konfigurieren Sie den WS-Security-Richtliniensatz so, dass nur die WS-Security-Vorgabe bezüglich der digitalen XML-Signatur verwendet wird, und konfigurieren Sie anwendungsspezifische angepasste Bindungen für die digitale XML-Signatur für einen Client und einen Provider.

Die in dieser Prozedur verwendeten Keystores werden mit WebSphere Application Server Traditional bereitgestellt und in jedem erstellten Profil installiert. Sie können einfach die Variable ${USER_INSTALL_ROOT} direkt in der Konfiguration verwenden, um auf die Keystorepositionen zu verweisen. In diesem Fall müssen Sie keinen vollständig qualifizierten Pfad angeben. ${USER_INSTALL_ROOT} wird in einen Pfad wie den folgenden aufgelöst: c:/WebSphere/AppServer/profiles/AppSrv01.

${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
Aufgrund der Besonderheit von JaxWSServicesSamples klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples, um den Richtliniensatz und die Bindungen auf diese Anwendung anzuwenden. Wenn Sie eigene Anwendungen einsetzen, können Sie alternativ die folgenden Pfade verwenden, um zwecks Zuordnung von Richtliniensatz und Bindungen auf den Provider und Client zuzugreifen:
* Services > Service-Provider > (Anwendungsname)
* Services > Service-Clients > (Anwendungsname)
Fehler vermeiden Fehler vermeiden: Achten Sie sehr genau auf die Namen der Tokenkonsumenten und -generatoren in der Administrationskonsole. Initiator und Empfänger der Token sind möglicherweise nicht die, die Sie annehmen. Die Spalte "Verwendung" in der Tabelle gibt an, ob ein Token ein Konsumententoken oder ein Generatortoken ist.gotcha

Vorgehensweise

  1. Erstellen Sie den angepassten Richtliniensatz.
    1. Klicken Sie in der Administrationskonsole auf Services > Richtliniensätze > Anwendungsrichtliniensätze.
    2. Klicken Sie auf Neu.
    3. Geben Sie Name=AsignPolicy an.
    4. Klicken Sie auf Anwenden.
    5. Klicken Sie unter der Überschrift "Richtlinie" auf Hinzufügen > WS-Security.
  2. Bearbeiten Sie den angepassten Richtliniensatz, um die Verschlüsselung und die Zeitmarke zu entfernen.
    1. Klicken Sie in der Administrationskonsole auf WS-Security > Hauptrichtlinie.
    2. Klicken Sie unter "Zugriffsschutz auf Nachrichtenebene" auf Abschnitte in Anforderungsnachrichten schützen.
    3. Klicken Sie auf app_encparts.
    4. Klicken Sie auf Löschen.
    5. Klicken Sie auf Fertig.
    6. Klicken Sie auf Abschnitte in Antwortnachrichten schützen.
    7. Klicken Sie auf app_encparts.
    8. Klicken Sie auf Löschen.
    9. Klicken Sie auf Fertig.
    10. Wählen Sie Zeitmarke in Sicherheitsheader einfügen ab.
    11. Klicken Sie auf Anwenden.
    12. Speichern Sie die Konfiguration.
  3. Konfigurieren Sie den Client für die Verwendung des Richtliniensatzes AsignPolicy.
    1. Klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen >JaxWSServicesSamples> Richtliniensätze und Bindungen für Service-Clients.
    2. Wählen Sie die Web-Service-Clientressource (JaxWSServicesSamples) aus.
    3. Klicken Sie auf Richtliniensatz zuordnen.
    4. Wählen Sie AsignPolicy aus.
  4. Erstellen Sie eine angepasste Bindung für den Client.
    1. Wählen Sie die Web-Service-Ressource erneut aus.
    2. Klicken Sie auf Bindung zuweisen.
    3. Klicken Sie auf Neue anwendungsspezifische Bindung, um eine anwendungsspezifische Bindung zu erstellen.
    4. Geben Sie den Bindungskonfigurationsnamen an.

      name: clientBinding

    5. Klicken Sie auf Hinzufügen > WS-Security.
    6. Wenn die Anzeige Hauptrichtlinienbindungen für Nachrichtensicherheit nicht erscheint, wählen Sie WS-Security aus.
  5. Konfigurieren Sie die angepassten Bindungen für den Client.
    1. Konfigurieren Sie einen Zertifikatsspeicher.
      1. Klicken Sie auf Schlüssel und Zertifikate.
      2. Klicken Sie unter "Zertifikatsspeicher" auf Neu - eingehend... .
      3. Geben Sie name=clientCertStore an.
      4. Geben Sie Folgendes an: Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer.
      5. Klicken Sie auf OK.
    2. Konfigurieren Sie einen Trust-Anchor.
      1. Klicken Sie unter "Trust-Anchor" auf Neu... .
      2. Geben Sie name=clientTrustAnchor an.
      3. Klicken Sie auf Externer Keystore.
      4. Geben Sie Folgendes ein: Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks.
      5. Geben Sie Password=client an.
      6. Klicken Sie auf OK.
      7. Klicken Sie in der Navigation für diese Seite auf WS-Security.
    3. Konfigurieren Sie den Signaturgenerator.
      1. Klicken Sie auf Authentifizierung und Zugriffsschutz > AsymmetricBindingInitiatorSignatureToken0 (Signaturgenerator) und klicken Sie anschließend auf Anwenden.
      2. Klicken Sie auf Callback-Handler.
      3. Geben Sie Keystore=custom an.
      4. Klicken Sie auf Konfiguration angepasster Keystores, und geben Sie Folgendes an:
        • Full path==${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
        • Keystore password=client
        • Name=client
        • Alias=soaprequester
        • Password=client
      5. Klicken Sie auf OK, OK und erneut auf OK.
    4. Konfigurieren Sie den Signaturkonsumenten.
      1. Klicken Sie auf AsymmetricBindingRecipientSignatureToken0 (Signaturkonsument) und klicken Sie anschließend auf Anwenden.
      2. Klicken Sie auf Callback-Handler.
      3. Klicken Sie unter "Zertifikate" auf die Schaltfläche Zertifikatsspeicher, und geben Sie Folgendes an:
        • Zertifikatsspeicher=clientCertStore
        • Trust-Anchor-Speicher=clientTrustAnchor
      4. Klicken Sie auf OK und erneut auf OK.
    5. Konfigurieren Sie die Signierdaten für die Anforderung.
      1. Klicken Sie auf request:app_signparts, und geben Sie Name=clientReqSignInfo an.
      2. Klicken Sie unter "Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
        • Name=clientReqSignKeyInfo
        • Type=Security Token reference
        • Name des Tokengenerators oder -Konsumenten=AsymmetricBindingInitiatorSignatureToken0
      3. Klicken Sie auf OK und anschließend auf Anwenden.
      4. Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" request:app_signparts aus.
      5. Klicken Sie auf Bearbeiten.
      6. Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
      7. Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      8. Klicken Sie auf OK, OK und erneut auf OK.
    6. Konfigurieren Sie die Signierdaten für die Antwort.
      1. Klicken Sie auf response:app_signparts, und geben Sie Name=clientRespSignInfo an.
      2. Klicken Sie auf Anwenden.
      3. Klicken Sie unter "Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
        • Name=clientRspSignKeyInfo
        • Name des Tokengenerators oder -Konsumenten=AsymmetricBindingRecipientSignatureToken0
      4. Klicken Sie auf Anwenden.
      5. Klicken Sie unter "Signierschlüsseldaten" auf clientRspSignKeyinfo, und klicken Sie dann auf Hinzufügen.
      6. Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" response:app_signparts aus.
      7. Klicken Sie auf Bearbeiten.
      8. Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
      9. Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      10. Klicken Sie auf OK, OK und erneut auf OK.
  6. Konfigurieren Sie den Provider für die Verwendung des Richtliniensatzes AsignPolicy.
    1. Klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > JaxWSServicesSamples > Richtliniensätze und Bindungen für Service-Provider.
    2. Wählen Sie die Web-Service-Provider-Ressource (JaxWSServicesSamples) aus.
    3. Klicken Sie auf Richtliniensatz zuordnen.
    4. Wählen Sie AsignPolicy aus.
  7. Erstellen Sie eine angepasste Bindung für den Provider.
    1. Wählen Sie die Web-Service-Provider-Ressource erneut aus.
    2. Klicken Sie auf Bindung zuweisen.
    3. Klicken Sie auf Neue anwendungsspezifische Bindung, um eine anwendungsspezifische Bindung zu erstellen.
    4. Geben Sie Name der Bindungskonfiguration: providerBinding an.
    5. Klicken Sie auf Hinzufügen > WS-Security.
    6. Wenn die Anzeige Hauptrichtlinienbindungen für Nachrichtensicherheit nicht erscheint, wählen Sie WS-Security aus.
  8. Konfigurieren Sie die angepasste Bindungen für den Provider.
    1. Konfigurieren Sie einen Zertifikatsspeicher.
      1. Klicken Sie auf Schlüssel und Zertifikate.
      2. Klicken Sie unter "Zertifikatsspeicher" auf Neu - eingehend... .
      3. Geben Sie Folgendes an:
        • Name=providerCertStore
        • Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
      4. Klicken Sie auf OK.
    2. Konfigurieren Sie einen Trust-Anchor.
      1. Klicken Sie unter "Trust-Anchor" auf Neu... .
      2. Geben Sie Name=providerTrustAnchor an.
      3. Klicken Sie auf Externer Keystore, und geben Sie Folgendes an:
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • Password=server
      4. Klicken Sie auf OK und klicken Sie anschließend in der Navigation für diese Seite auf WS-Security.
    3. Konfigurieren Sie den Signaturgenerator.
      1. Klicken Sie auf Authentifizierung und Zugriffsschutz > AsymmetricBindingRecipientSignatureToken0 (Signaturgenerator) und klicken Sie anschließend auf Anwenden.
      2. Klicken Sie auf Callback-Handler.
      3. Geben Sie Keystore=custom an.
      4. Klicken Sie auf Konfiguration angepasster Keystores, und geben Sie Folgendes an:
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • Keystore password=server
        • Name=server
        • Alias=soapprovider
        • Password=server
      5. Klicken Sie auf OK, OK und erneut auf OK.
    4. Konfigurieren Sie den Signaturkonsumenten.
      1. Klicken Sie auf AsymmetricBindingInitiatorSignatureToken0 (Signaturkonsument) und klicken Sie anschließend auf Anwenden.
      2. Klicken Sie auf Callback-Handler.
      3. Klicken Sie unter "Zertifikate" auf die Schaltfläche "Zertifikatsspeicher", und geben Sie Folgendes an:
        • Zertifikatsspeicher=providerCertStore
        • Trust-Anchor-Speicher=providerTrustAnchor
      4. Klicken Sie auf OK.
      5. Klicken Sie in der Navigation für diese Seite auf Authentifizierung und Zugriffschutz.
    5. Konfigurieren Sie die Signierdaten für die Anforderung.
      1. Klicken Sie auf request:app_signparts, und geben Sie Name=reqSignInf an.
      2. Klicken Sie auf Anwenden.
      3. Klicken Sie unter "Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
        • Name=reqSignKeyInfo
        • Name des Tokengenerators oder -Konsumenten=AsymmetricBindingInitiatorSignatureToken0
      4. Klicken Sie auf Anwenden.
      5. Klicken Sie unter "Signierschlüsseldaten" auf reqSignKeyinfo, und klicken Sie dann auf Hinzufügen.
      6. Klicken Sie unter "Referenz des Anforderungsnachrichtenabschnitts" auf request:app_signparts .
      7. Klicken Sie auf Bearbeiten.
      8. Klicken Sie unter "Umsetzungsalgorithmen" auf Neu, und geben Sie URL=http://www.w3.org/2001/10/xml-exc-c14n# an.
      9. Klicken Sie auf OK, OK und erneut auf OK.
    6. Konfigurieren Sie die Signierdaten für die Antwort.
      1. Klicken Sie auf response:app_signparts, und geben Sie Name=rspSignInfo an.
      2. Klicken Sie auf Anwenden.
      3. Klicken Sie unter "Signierschlüsseldaten" auf Neu, und geben Sie Folgendes an:
        • Name=rspSignKeyInfo
        • Type=Security Token reference
        • Name des Tokengenerators oder -Konsumenten=AsymmetricBindingRecipientSignatureToken0
      4. Klicken Sie auf OK und anschließend auf Anwenden.
      5. Wählen Sie unter "Referenz des Anforderungsnachrichtenabschnitts" response:app_signparts aus.
      6. Klicken Sie auf Bearbeiten.
      7. Klicken Sie unter "Umsetzungsalgorithmen" auf Neu.
      8. Geben Sie Folgendes an: URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      9. Klicken Sie auf OK, OK und erneut auf OK.
  9. Klicken Sie auf Speichern, um die Konfigurationsänderungen zu speichern.
  10. Starten Sie den Client und den Provider erneut.
    1. Stoppen Sie den Client und den Provider.
    2. Starten Sie den Client und den Provider erneut.
  11. Testen Sie den Service.
    1. Rufen Sie in Ihrem Web-Browser "JaxWSServicesSamples" auf:
      http://localhost:9080/wssamplesei/demo
      Fehler vermeiden Fehler vermeiden: Achten Sie darauf, den richtigen Hostnamen und Port anzugeben, falls sich ihr Profil nicht auf derselben Maschine befindet oder ein anderer Port als 9080 verwendet wird.gotcha
    2. Wählen Sie Message Type Synchronous Echo aus.
    3. Stellen Sie sicher, dass Use SOAP 1.2 nicht ausgewählt ist.
    4. Geben Sie eine Nachricht ein und klicken Sie auf Send Message.
    Die Beispielanwendung sollte als Antwort JAXWS==>Message zurückgeben.

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_xmlds_policyset
Dateiname:twbs_xmlds_policyset.html