Häufig gestellte Fragen und Antworten (FAQ) KB0394293
E-Mail
Schritte zum Konfigurieren der zertifikatsbasierten Authentifizierung (WS-Security) für Web-Services mit SoapUI
Dieser Wissensdatenbankartikel wurde maschinell übersetzt. SAP übernimmt keine Gewährleistung für die Richtigkeit oder Vollständigkeit der Maschinenübersetzung. Sie können den Originalinhalt anzeigen, indem Sie über die Sprachauswahl zu "Englisch" wechseln.
Frage

Schritte zum Konfigurieren der zertifikatsbasierten Authentifizierung (WS-Security) für Web-Services

Antwort

Eingehend zum Ariba-Webservice:

  1. Verwenden Sie einen Keystore zusammen mit einem X.509-Zertifikat, das mit der Base64-Kodierung von Privacy Enhanced Mail (PEM) kodiert ist. Wenn Sie keine von einer gültigen Zertifizierungsstelle haben, können Sie einen selbstsignierten Keystore bzw. ein selbstsigniertes Zertifikat wie folgt generieren:
    1. Öffnen Sie die Eingabeaufforderung, und ändern Sie das Verzeichnis in das Java-Installations-Bin-Verzeichnis Ihres Rechners.
    2. Führen Sie den folgenden Befehl aus, um einen Keystore zu generieren (in Windows): Ersetzen Sie das Kennwort durch das tatsächliche Kennwort, das Sie verwenden möchten:

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -valid 360 -keysize 2048

    1. In Schritt 1b wurde eine Keystore-Datei namens keystore.jks angelegt. Es handelt sich um einen Java-Keystore, der mein neues Zertifikat sowie die öffentlichen und privaten Schlüssel enthält.
    2. Extrahieren Sie nun das PEM-Zertifikat aus dem Keystore, der in die Ariba-Benutzeroberfläche für die Endpunktauthentifizierung implementiert werden kann. Führen Sie in der Eingabeaufforderung den folgenden Befehl aus (Ersetzen Sie das Kennwort durch das in Schritt 1b festgelegte Kennwort):

keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem

  1. Für diese Lösung beziehe ich mich auf die Konfiguration der Anforderung in SoapUI. Navigieren Sie in Ariba zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Endpunktkonfiguration > Neu.
  2. Fügen Sie das in Schritt 1d extrahierte X.509-Zertifikat ein, das mit der Base64-Kodierung von Privacy Enhanced Mail (PEM) kodiert wurde, fügen Sie es in die Zertifikatsdatei ein, und sichern Sie die Änderungen. Die erste Zeile des Zertifikats muss der folgende Text sein:
    -----BEGIN CERTIFICATE-----
    Die letzte Zeile des Zertifikats muss der folgende Text sein:
    -----ENDE ZERTIFIKAT-----

  1. Navigieren Sie zu Verwalten > Administration/Ariba Administration > Integrations-Manager > Integrationskonfiguration > Wählen Sie den gewünschten Webdienst aus, bearbeiten Sie ihn, stellen Sie sicher, dass er aktiviert ist, und verwenden Sie den in Schritt 3 erstellten Endpunkt.
  2. WSDL-URL kopieren
  3. Legen Sie in SoapUI ein neues SoapUI-Projekt an, und verwenden Sie die aus Ariba kopierte WSDL-URL.
  4. Doppelklicken Sie auf das Projekt.

  1. Klicken Sie auf die Registerkarte Keystores, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen aus).
  2. Wählen Sie die in Schritt 1 angelegte Keystore-Datei (Dateierweiterung .jks), und geben Sie das Keystore-Kennwort ein. Anschließend sollte der Status des Keystores OK sein.

  1. Klicken Sie auf die Registerkarte Ausgehende WS-Security-Konfigurationen, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen aus).
  2. Klicken Sie im unteren Bereich auf das Symbol Hinzufügen, um den Sicherheitstyp hinzuzufügen. Wählen Sie "Signatur".
  3. Wählen Sie Ihren Keystore und Alias aus der Dropdown-Liste aus, und geben Sie das Keystore-Kennwort ein. Geben Sie die Schlüssel-ID-Art = "Ausstellername und Seriennummer" ein. Nach der Konfiguration sieht die Konfiguration wie folgt aus:

  1. Öffnen Sie den Request in SoapUI, indem Sie darauf doppelklicken:

  1. Klicken Sie in der Anforderung auf die Registerkarte "Aut". Setzen Sie die ausgehende WSS auf den Namen Ihrer ausgehenden WS-Security-Konfigurationen, die Sie in den Schritten 10 bis 12 angelegt haben.

  1. Nun können Sie die Anforderung über SoapUI ausführen. Es sollte eine erfolgreiche Antwort angezeigt werden.

Ausgehend von Ariba-Webservice an Middleware:

  1. Stellen Sie sicher, dass Schritt 1 aus den Schritten „Eingehend zum Ariba-Webservice“ abgeschlossen wurde.
  2. Navigieren Sie in Ariba zu Verwalten > Administration/Ariba Administrator > Integrations-Manager > Endpunktkonfiguration > Neu > Typ „Ausgehend“ auswählen
    Geben Sie für "URL" den Endpunkt an. Dies ist der Ort, an dem Ariba die SOAP-Anforderung sendet. Ariba empfiehlt die Verwendung von https; http funktioniert jedoch auch:

    Beispiel:
    https://<domain>:<port>/WSOutbound

  3. Setzen Sie "Sign with Ariba Private Key" auf "Yes", und sichern Sie den Endpunkt.
  4. Navigieren Sie zu Verwalten > Administration/Ariba Administration > Integrations-Manager > Integrationskonfiguration > Wählen Sie den gewünschten Webdienst aus, bearbeiten Sie ihn, stellen Sie sicher, dass er aktiviert ist, und verwenden Sie den in Schritt 2 erstellten Endpunkt. Legen Sie außerdem die URL fest (sollte dieselbe URL wie die Endpunkt-URL sein, kann jedoch zusätzliche Parameter in der URL haben).
  5. Öffnen Sie die WSDL-URL, und kopieren Sie die URL im Browser.
  6. Legen Sie in SoapUI ein neues SoapUI-Projekt an, und verwenden Sie die aus Ariba kopierte WSDL-URL.
  7. Stellen Sie sicher, dass MockService anlegen markiert ist.
  8. Geben Sie auf dem nächsten Bild die Daten zum Port und Pfad ein.
  9. Doppelklicken Sie auf das soeben angelegte Projekt.
  10. Klicken Sie auf die Registerkarte Keystores, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen aus).
  11. Wählen Sie die Keystore-Datei, die Sie in Schritt 1 des Eingangs-zu-Ariba-Webservice angelegt haben (Dateierweiterung .jks), und geben Sie das Keystore-Kennwort ein. Anschließend sollte der Status des Keystores OK sein.
  12. Klicken Sie auf die Registerkarte Eingehende WS-Security-Konfigurationen, und klicken Sie auf das Symbol Hinzufügen (sieht wie ein Pluszeichen aus).
  13. Geben Sie einen Namen ein, wählen Sie den Keystore-Wert für "Keystore entschlüsseln" und "Signatur-Keystore", und geben Sie das Keystore-Kennwort ein.
  14. Klicken Sie auf den MockService im SOAP-Projekt.
  15. Setzen Sie unter MockService-Eigenschaften "Incoming WSS" auf den Namen der in Schritt 13 konfigurierten "Incoming WS-Security Configurations".
  16. Doppelklicken Sie auf die Antwort, und geben Sie manuell Werte ein, damit die Antwort dem gewünschten Ergebnis entspricht (Erfolg oder Fehler). Dies ist die Antwort, die an Ariba gesendet wird, wenn die Anforderung an SoapUI gesendet wird.
  17. Jetzt können Sie in der Ariba-Anwendung Daten generieren, die den vorgesehenen Webservice verwenden, um Daten an Ihre SoapUI zu senden.
Zusätzliche Informationen

Weitere Informationen zum Generieren eines Keystores mit den genannten Schritten finden Sie unter:

http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html

Weitere Informationen zur Konfiguration von WS-Security in SoapUI finden Sie unter:

http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html

Schritte zum Konfigurieren der zertifikatsbasierten Authentifizierung (WS-Security) für Web-Services mit SoapUI.txt6,75 KB

Gilt für

Einkauf
Strategische Beschaffung
Strategische Verträge
Supplier Information and Performance Management

Nutzungsbedingungen  |  Copyright  |  Sicherheitsrichtlinie  |  Vertraulichkeit