[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    1.508

  2. #2
    Registriert seit
    Mar 2020
    Beiträge
    10
    gestern noch stand ich am Abgrund...jetzt bin ich inzwischen etwas weiter...
    Mir fehlte noch der Aufruf für axiscTransportSetProperty für das Property AXISC_PROPERTY_HTTP_SSL.
    Hier habe ich dann die Keyring Datei eingetragen...und jetzt bekomme ich den nächsten Fehler...
    PHP-Code:
    15/04/2020 09:51:02:227   00012485  transport  TCPChannel::close(): 
    15/04/2020 09:51:02:228   00012485  transport  TCPChannel::close(): 
    15/04/2020 09:51:02:228   00012485  transport  HTTPTransport::closeConnection(): 
    15/04/2020 09:51:02:229   00012485  transport  TCPChannel::open(): 
    15/04/2020 09:51:02:229   00012485  transport  D TCPChannel::open(): Connecting tocig.dhl.de:443
    15
    /04/2020 09:51:02:290   00012485  transport  TCPChannel::open(): 
    15/04/2020 09:51:02:290   00012485  transport  TCPChannel::doSSLHandshake(): 
    15/04/2020 09:51:02:291   00012485  transport  TCPChannel::createGSKitEnvironment(): 
    15/04/2020 09:51:02:291   00012485  transport  D TCPChannel::createGSKitEnvironment(): Attempting to set keyring file using '/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB'
    15/04/2020 09:51:02:292   00012485  transport  D TCPChannel::createGSKitEnvironment(): Enabled SSLV2
    15
    /04/2020 09:51:02:292   00012485  transport  D TCPChannel::createGSKitEnvironment(): Enabled SSLV3
    15
    /04/2020 09:51:02:292   00012485  transport  D TCPChannel::createGSKitEnvironment(): Enabled TLSV1
    15
    /04/2020 09:51:02:293   00012485  transport  D TCPChannel::createGSKitEnvironment(): Enabled TLSV11
    15
    /04/2020 09:51:02:293   00012485  transport  D TCPChannel::createGSKitEnvironment(): Enabled TLSV12
    15
    /04/2020 09:51:02:294   00012485  transport  TCPChannel::createGSKitEnvironment(): Exit with return code of AXIS_SUCCESS
    15
    /04/2020 09:51:02:345   00012485  transport  TCPChannel::close(): 
    15/04/2020 09:51:02:346   00012485  transport  TCPChannel::close(): 
    15/04/2020 09:51:02:346   00012485  transport  X TCPChannel::doSSLHandshake(): Line=958File=/build/axiscpp/src/ws-axis/c/src/transport/TCPChannel/TCPChannel.cpp:
    HTTPTransportException SERVER_TRANSPORT_SOCKET_CONNECT_ERRORFailed to open connection to serverthe operation gsk_secure_soc_init() failed.
    GSKit Error is 6000 Das Zertifikat wurde nicht von einer anerkannten Zertifizierungsinstanz signiert.
    15/04/2020 09:51:02:346   00012485  transport  TCPChannel::doSSLHandshake(): 
    15/04/2020 09:51:02:347   00012485  engine     axiscTransportFlush(): 
    15/04/2020 09:51:26:066   00012485  engine     axiscTransportReceive(): 
    15/04/2020 09:51:26:067   00012485  engine     D axiscTransportReceive(): user buffer length is 65535
    15
    /04/2020 09:51:26:067   00012485  engine     D axiscTransportReceive(): reading transport data
    15
    /04/2020 09:51:26:067   00012485  transport  HTTPTransport::getBytes(): 
    15/04/2020 09:51:26:068   00012485  transport  D HTTPTransport::getBytes(): number of bytes to read is 65536
    15
    /04/2020 09:51:26:068   00012485  transport  D HTTPTransport::getBytes(): GetBytesStateeWaitingForHTTPHeader
    15
    /04/2020 09:51:26:069   00012485  transport  D HTTPTransport::getBytes(): No data to readso read HTTP header
    15
    /04/2020 09:51:26:069   00012485  transport  HTTPTransport::readHTTPHeader(): 
    15/04/2020 09:51:26:069   00012485  transport  HTTPTransport::resetInputStateMachine(): 
    15/04/2020 09:51:26:070   00012485  transport  HTTPTransport::resetInputStateMachine(): 
    15/04/2020 09:51:26:070   00012485  transport  TCPChannel::readBytes(): 
    15/04/2020 09:51:26:070   00012485  transport  X TCPChannel::readBytes(): Line=398File=/build/axiscpp/src/ws-axis/c/src/transport/TCPChannel/TCPChannel.cpp:
    HTTPTransportException SERVER_TRANSPORT_INVALID_SOCKETUnable to perform read operation.
    15/04/2020 09:51:26:071   00012485  transport  TCPChannel::readBytes(): 
    15/04/2020 09:51:26:071   00012485  engine     axiscTransportReceive(): 
    15/04/2020 09:51:37:335   00012485  engine     axiscTransportDestroy(): 
    ...und wieder steh' ich da wie blöd....
    warum steht in der Fehlermeldung nicht einfah mal drin, welches Zertifikat gemeint ist??
    Was fehlt denn jetzt noch??

  3. #3
    Registriert seit
    Mar 2017
    Beiträge
    18
    Hallo, ich steh vor dem selben Problem und könnte Hilfe gebrauchen!
    Den *SYSTEM Keystore hab ich angelgt.. Aber wie geht es weiter?

    Wir haben jetzt erst angefangen mit der AXIS Api zu arbeiten. Diese nutze ich für meinen Zugriff auf einen REST-Service vom Kunden.
    Das setzen der HTTP Properties funktioniert nun, jedoch bekomme ich beim Request senden auch den SSL-Fehler.

    Hilfe?

  4. #4
    Registriert seit
    Nov 2020
    Beiträge
    436
    Wie machst du den HTTP Request? Via RPG, SQL?
    Wie ist die Verbindung, von der IBM i zu einem externen Server?
    Ist das Zertifikat ein Self-Signed Zertifikat?

    Antwort? :-)

  5. #5
    Registriert seit
    Mar 2017
    Beiträge
    18
    Guten morgen,

    Ich mach den HTTP Request via RPG.
    Das Zertifikat ist kein Self-Signed, sondern soweit ich weiß ist es ein Standard Zertifikat. Der Zugriff auf die Api über Postman funktioniert einwandfrei..
    Das mit der Verbindung von der IBMi zum externen Server musst du mir genauer erklären... Für mich sind das böhmische Dörfer /)_(\

  6. #6
    Registriert seit
    Nov 2020
    Beiträge
    436
    Bei einer HTTPS Verbindung wird zuerst mal der SSL-Handshake durchgeführt.
    Hierbei werden ein paar Aktionen getätigt:
    * Es wird sich das höchst mögliche Verschlüsselungsprotokoll ausverhandelt (dies sollte eines der aktuellen TLS Versionen sein)
    * Der höchst mögliche Chiffrieralgorithmus (Cipher) ausverhandelt (das wo z.B. RSA, SHA usw. im Text steht)
    * Dann wird das Zertifikat geprüft
    ** Stimmt das Zertifikat mit dem Hostnamen überein (Wenn man hier die IP benützt, gibt es meistens ein Problem)
    ** Ist das Zertifikat allgemein gültig (self-signed, ablaufdatum usw.)
    ** Ist die Zertifikatsstelle (CA) im Keystore enthalten?

    Bei den ersten beiden Punkten kann es auch sein, wenn eines der beiden Server nicht halbwegs aktuell ist und irgendwelche SSL/TLS Versionen oder Cipher verwendet, die vom anderen Server nicht unterstützt werden (weil schon sehr alt oder weil die Updates fehlen), kann es zu Problemen führen.

    Normal hat jedes System eine sehr große Liste von unterstützten Cipher.
    In den nicht so optimalen Programmen (sowohl Client als auch Server) gibt es auch die Möglichkeit die Version des Verschlüsselungsprotokolls oder den Cipher, hardcoded zu hinterlegen.
    Das ist dann ganz super, wenn irgendwann diese nicht mehr unterstützt werden und die Software nicht angepasst wird.

    Wenn auf eurer IBM i in der QSH OpenSSL installiert ist kannst du die Verbindung damit testen:
    openssl s_client -connect prouza.at:https
    Hier bekommst du alle Details zur SSL-Verbindung und dem Zertifikat.
    Bei mir z.B.:
    Verification: OK
    Verify return code: 0 (ok)

    Ich hoffe das liefert dir ein paar Anhaltspunkte.

    lg Andreas

  7. #7
    Registriert seit
    Mar 2017
    Beiträge
    18
    Hallo Andreas,

    danke für die Hilfe. openSSL ist leider nicht bei uns installiert, wäre aber scheinbar klug dies nach zu installieren.

    Danke dir!

  8. #8
    Registriert seit
    Mar 2017
    Beiträge
    18
    Huhu,

    ich möchte mich noch mal für die Hilfe bedanken. Wir haben das Problem mittlerweile erfolgreich lösen können.
    Ich musste noch extra Zertifikate importieren und dann haben wir festgestellt, dass er mit anderen arbeitet, wie wir aus dem Browser bekommen haben.

    Ich bin zwei Erfahrungen reicher!

    Danke nochmals.

Similar Threads

  1. Antworten: 7
    Letzter Beitrag: 10-11-19, 15:00
  2. order by case when :a = 12 then a35#07 else feldB end, erzeugt Fehler
    By sauerm in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 09-03-18, 09:49
  3. Client Access Fehler in Lizenzverwaltung
    By jwolfart in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 12-04-14, 09:38
  4. Antworten: 0
    Letzter Beitrag: 16-09-02, 12:31
  5. Client Access Fehler
    By Arbi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 25-09-01, 23:40

Tags for this Thread

Berechtigungen

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