Einzelnen Beitrag anzeigen

AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: HTTPS-Server in eigener Anwendung

  Alt 23. Mai 2017, 08:15
Ich hab auch mal das ganze mit der Seite www.ssllabs.com getestet. Aus allem was das steht werde ich nicht schlau ist ja ne ganze Menge.
Und das das Zertifikat grundsätzlich ungültig wäre, hat er auch nicht gesagt. Allerdings meckert er den "common Name" als Mismatch an. Da habe ich einfach mal meinen Realnamen verwendet. Auch bei trusted steht "Not Trusted" was aber klar ist.
Also ich habe damals auch eine ganze Weile rum gemacht, bis ich bei www.ssllabs.com ein vernünftiges Ranking hatte. Jetzt habe ich A.

Hier ein paar Tipps, was ich gemacht habe, dass man "A" erreichen kann:

1. Hier meine Konfiguration vom TIdServerIOHandlerSSLOpenSSL:
Delphi-Quellcode:
  IdServerIOHandlerSSLOpenSSL.SSLOptions.DHParamsFile:= appDir + 'Zertifikat\dhparam.pem';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.KeyFile:= appDir + 'Zertifikat\de_private_key.key';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.CertFile:= appDir + 'Zertifikat\de_ssl_certificate.cer';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.RootCertFile:= appDir + 'Zertifikat\de_ssl_certificate_INTERMEDIATE.cer';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.SSLVersions := [sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2];
  IdServerIOHandlerSSLOpenSSL.SSLOptions.Mode := sslmServer;
  IdServerIOHandlerSSLOpenSSL.SSLOptions.CipherList := SSLDefaultCipherList;
SSLDefaultCipherList ist in der beigelegten uOpenSSLPatch Datei definiert.

2. Die dhparam.pem Datei muss mind. 1024Bit haben und wird so erstellt:
Code:
openssl dhparam -outform PEM -out dhparam.pem 1024
3. Der SSLContext vom TIdServerIOHandlerSSLOpenSSL muss gepatcht werden:

Hierzu die Source-Datei aus dem Anhang (uOpenSSLPatch.pas) verwenden und z.B. im FormCreate folgenden Befehl aufrufen:
Delphi-Quellcode:
  //OpenSSL Patchen...
  SSL_CTX_patch(IdServerIOHandlerSSLOpenSSL.SSLContext.InternalContext);

So, wenn ich jetzt nichts übersehen oder verwechselt habe müsste es bei www.ssllabs.com zu einem "A" Rating führen.
Es gibt auch noch ein A+ Rating. Ich bin gerne für Tipps offen wie man das hin bekommt.

Wichtig: Das Zertifikat darf natürlich nicht self-signed sein!
Ich habe meines z.B. von 1und1. (früher StartCom, aber die sind scheinbar nicht mehr vertrauenswürdig).
Angehängte Dateien
Dateityp: pas uOpenSSLPatch.pas (4,4 KB, 27x aufgerufen)
Andreas Blenk

Geändert von AndyDF (23. Mai 2017 um 08:29 Uhr)
  Mit Zitat antworten Zitat