AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Bestimmten Cipher bei Indy+OpenSSL verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmten Cipher bei Indy+OpenSSL verwenden

Ein Thema von Codehunter · begonnen am 12. Mär 2020 · letzter Beitrag vom 15. Mär 2020
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 12. Mär 2020, 09:59
Hallo!

In Verbindung mit diesem Thema bin ich auf ein Problem gestoßen. Und zwar übergibt Indy korrekterweise eine Liste der unterstützten Cipher beim Client Hello an den Server. Der Server pickt sich daraus dann einen Cipher heraus, den er ebenfalls unterstützt und teilt das dann im Server Hello mit. Soweit ist die Welt auch noch schön.

Dummerweise einigen sich die beiden in meinem Fall jetzt auf RSA_PKCS1_SHA512 und dieser scheint nun wieder nicht von Wireshark unterstützt zu werden. Deshalb kann ich nicht in den Traffic hinein schauen.

RSA_PKCS1_SHA512 ist auch der erste, der in der Cipher-Liste im Client-Hello steht. Daher frage ich mich, ob ich die Liste der übergebenen Cipher beeinflussen und eben solche ausschließen kann, die Wireshark nicht mag.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 12. Mär 2020, 10:37
Ich habe mich da noch nie rangetraut, dennoch kann ich dir mitteilen das man es sehr wahrscheinlich beeinflussen kann.

in der IdSSLOpenSSLHeaders.pas
SSL_DEFAULT_CIPHER_LIST = 'AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH'; //* low priority for RC4 */
(diese zeile enstammt von hier: github.com/skelter)

Wie gesagt, ich habe da noch nie rumgespielt, aber das wäre mein ansatz, vielleicht hilft es dir?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 12. Mär 2020, 11:50
Ich habe mich da noch nie rangetraut, dennoch kann ich dir mitteilen das man es sehr wahrscheinlich beeinflussen kann.
Ja da trauen sich allgemein nicht viele ran. Ich musste mich von Berufs wegen damit befassen um Verbindungen mit externen Non-Standard-REST-Schnittstellen debuggen zu können. Vor mir hat wohl laut Remy Lebeau auch noch nie einer versucht, mit Indy ein NSS-File zu erstellen. Deshalb blieb ein Bug in Indy über Jahre unentdeckt (siehe oben verlinkter Thread)

in der IdSSLOpenSSLHeaders.pas
SSL_DEFAULT_CIPHER_LIST = 'AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH'; //* low priority for RC4 */
(diese zeile enstammt von hier: github.com/skelter)
Das scheint aber innerhalb von Indy nur zur Ausgabe von Fehlermeldungen verwendet zu werden? TIdSSLIOHandlerSocketOpenSSL.SSLOptions.CipherList ist bei mir auch ein Leerstring und scheint ignoriert zu werden wenn man ihn explizit setzt.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 12. Mär 2020, 12:10
Eine Auflistung von Krypto-Methode bekommt man in diesen Link vorgeschlagen:
https://bettercrypto.org/

Da mal für OpenSSL suchen. In den vorgeschlagenen Einstellungen wird z.B. !RC4 angegeben - der ist ja bekanntlich unsicher. In deinen String steht der noch als gültig drin.

Geändert von generic (12. Mär 2020 um 12:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 12. Mär 2020, 12:29
Ich habe mal Deinen Tipp mit rlebeau verfolgt und bin auf dieses hier gestoßen, hilft nicht wirklich weiter aber das worauf ich mich bezog war wohl für'ne aaaalte indy....

huch.... die DP ist gerade putt putt bei mir, schaut alles total strange aus, kann keine knöpfe drücken deshalb direkt so:
auf seite https://www.gitmemory.com/rlebeau steht folgendes:
Zitat:
FYI, Indy no longer uses SSL_DEFAULT_CIPHER_LIST, since it doesn't keep up with OpenSSL updates. If the CipherList property is empty, Indy lets OpenSSL use whatever default list it wants. That change was made awhile ago.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 15. Mär 2020, 15:49
ICh hab sowas schon befürchtet. Mit anderen Worten müsste ich für solche Zwecke ein eigenes OpenSSL kompilieren und manche Cipher ausklammern. Oh man. Da kann man Indy noch nicht mal einen Vorwurf machen.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#7

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 15. Mär 2020, 16:47
Hmm..

Zitat:
FYI, Indy no longer uses SSL_DEFAULT_CIPHER_LIST, since it doesn't keep up with OpenSSL updates. If the CipherList property is empty, Indy lets OpenSSL use whatever default list it wants. That change was made awhile ago.
Aber wenn ich das richtig gelesen habe, dann müsstet Du ja nur der property CipherList einen gültigen Wert geben, dann sollte diese benutzt werden.
Denn da steht ja nur, wenn diese property 'Leer' ist, dass dann OpenSLL sein default verwendet und nicht mehr die Konstante SSL_DEFAULT_CIPHER_LIST.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Bestimmten Cipher bei Indy+OpenSSL verwenden

  Alt 15. Mär 2020, 17:46
Aber wenn ich das richtig gelesen habe, dann müsstet Du ja nur der property CipherList einen gültigen Wert geben, dann sollte diese benutzt werden.
Siehe #3.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz