[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    832

    QSYS2.http_post mit Zertifikat

    Hallo zusammen,

    ich hoffe das jemand das Thema kennt :-)

    Wir starten im RPG einige QSYS2.HTTP_POST Anfragen.
    Auf den Textsystemen die im Modus http laufen klappen die Anfragen einwandfrei.

    Jetzt sollen die gleichen Abfragen mit https gegen ein zweites System laufen das.

    Bei den Abfragen kommt folgender Fehler hoch:

    Nachricht . . . : Fehler bei benutzerdefinierter Funktion in Teildatei QSQPTABL.Ursache . . . . : Beim Aufrufen der benutzerdefinierten Funktion HTTP_POST in Bibliothek QSYS2 ist ein Fehler aufgetreten. Der Fehler trat beim Aufrufen des zugeordneten externen Programms oder Serviceprogramms QSQAXISC in Bibliothek QSYS, Programmeingangspunkt bzw. externem Namen axiscPostClob, spezieller Name HTTP_POST, auf. Der Fehler trat bei Teildatei QSQPTABL Datei QSQPTABL in Bibliothek QSYS2 auf. Der Fehlercode ist 1. Fehlercodes und ihre Bedeutung: 1 -- Das externe Programm oder Serviceprogramm hat SQLSTATE 38501 zurückgegeben. Die vom Programm zurückgegebene

    Textnachricht ist: AXISC ERROR : HTTPTransportException: Cannot initialize a channel to the remoteend.Failed to establish SSL connection to server, the operation gsk_secure_soc_init() failed.GSKit Error is 6000 - Das Zertifikat wurde nicht von einer anerkannten Zertifizierungsinstanz signiert. .

    2 -- Das externe Programm ist vor seiner Beendigung fehlgeschlagen. 3 -- Bei der Datenbank trat ein Zeitüberschreitungsfehler beim Warten auf die Rückkehr zum Hauptprogramm auf. Der von der Datenbank verwendete Zeitüberschreitungswert betrug 0 Minuten und 30 Sekunden. 4 -- Das externe Programm ist nicht mehr vorhanden oder wurde nicht gefunden. 5 -- Bei einem der Eingabeparameter der Funktion ist ein Datenabgleichungsfehler aufgetreten. 6 bis 26 -- Die vorangegangenen Nachrichten im Jobprotokoll beachten. Für ein externes Programm ist der angezeigte Programmeingangspunkt *NFehlerbeseitigung: Bei Fehlercodes 1 und 2 die Fehlerursache anhand von SQLSTATE oder einer zuvor aufgelisteten Nachricht feststellen. Bei Fehlercode 3 entweder den Zeitüberschreitungswert mit Hilfe der QAQQINI-Dateieinstellung erhöhen oder feststellen, weshalb das externe Programm oder das Serviceprogramm nicht innerhalb der zugeordneten Zeit zurückgekehrt ist. Bei Fehlercode 4 sicherstellen, dass das Programm oder Serviceprogramm für die Dauer der Abfrage vorhanden ist. Bei Fehlercode 5 die Ursache für den Datenabgleichungsfehler bestimmen. Bei Fehlercode 6 bis 26 die vorangegangenen Nachrichten im Jobprotokoll beachten. Weitere Informationen über benutzerdefinierte Funktionen enthält die Themensammlung "DB2 for IBM i SQL Programming" in der Kategorie Datenbank im


    Die Fehlerursache ist klar. Das zweite Testsystem hat nur ein internes Zertifikat.

    Kann man die IBM i dazu bringen das Zertifikat zu akzeptieren ?

    Gruß an *ALL

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    "Das Zertifikat wurde nicht von einer anerkannten Zertifizierungsinstanz signiert. ."
    https://www.ibm.com/docs/de/i/7.2?to...cate-authority
    Ggf. hilft dies:
    https://www.ibm.com/docs/en/i/7.3?to...st-application

    Wichtig ist, dass das sog. Root-Zertfikat mit der entsprechenden Domain z.B. "meinedomain.de" eingetragen ist.
    Mit selbst erstellten Zertifikaten gibt es immer wieder diesbezüglich Probleme.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Nov 2020
    Beiträge
    315
    Du musst auf der IBM i in den DCM (Digital Certificat Manager: https://www.ibm.com/docs/en/i/7.3?to...u66a-dcm_start).
    Dort muss du den *SYSTEM Keystore auswählen (falls nicht vorhanden, dann einfach erstellen).
    Im *SYSTEM Keystore musst du dann nur noch das selbstsignierte Zertifikat importieren.
    Sollte das Serverzertifikat mit einer CA (Zertifizierungsinstanz=Root-Zertifikat) verpackt sein, dann reicht es wenn du lediglich das Root-Zertifikat importierst.
    Generell ist das Konzept mit dem Root-Zertifikat immer zu bevorzugen, da es dann alles viel einfacher und sicherer macht.

    Im Zertifikat selbst steht auch drinnen für welche Domain das Zertifikat erstellt wurde. Wenn du aber versucht via IP den Request abzusetzen, dann wirft der SSL Check auch eine Fehlermeldung.

    lg Andreas

Similar Threads

  1. Antworten: 3
    Letzter Beitrag: 11-02-15, 17:13
  2. i5 Zertifikat für Zertifizierungsspeicher importieren
    By sven_stuttgart in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 27-01-10, 16:55
  3. SSL Zertifikat abgelaufen, wie HTTPSVR starten?
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 26-11-08, 11:57
  4. SSL Zertifikat importieren
    By pwrdwnsys in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 01-08-07, 11:45
  5. Server- oder Client-Zertifikat importieren
    By nyul in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 26-07-05, 17:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •