AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???
Thema durchsuchen
Ansicht
Themen-Optionen

Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

Ein Thema von romber · begonnen am 22. Mai 2009 · letzter Beitrag vom 2. Jun 2009
Antwort Antwort
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 22. Mai 2009, 17:22
Hallo!

Ich habe heute meinen neuen SSL-Zertifikat von Comodo erhalten. Das sind drei crt-Dateien sowie eine Textdatei mit dem Zertifikat in Textform.
Wie installiere ich jetzt den Zertifikat, damit ich es mit Indy + OpenSSL verwenden kann?

Danke!
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#2

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 24. Mai 2009, 13:53
*PUSH
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#3

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 25. Mai 2009, 10:24
Weiss wirklich keiner, wie das geht?
  Mit Zitat antworten Zitat
gvita

Registriert seit: 28. Okt 2004
10 Beiträge
 
#4

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 25. Mai 2009, 11:24
Hallo,

du musst dein Zertifikat umwandeln.

z.b.. so: openssl x509 -inform der -in certificate.cer -out certificate.pem.

http://www.magenbrot.net/wiki/linux/...sl-zertifikate


Indy versteht nur das pem format. Mit dem Passwort und so weiter siehh dir die Url an.

Gruß Gio
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 25. Mai 2009, 18:50
Vielen Dank!
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#6

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 31. Mai 2009, 17:12
Den Zerifikat konnte ich konvertieren.
Aber für die Verwendung mit Indy benötige ich noch die Key-File und Root-Zertifikat-File ebenfalls im PEM-Format.
Kann mir jemand ein Tipp geben, wie ich diese konvertiere?
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#7

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 2. Jun 2009, 10:21
Hi romber,

Zitat von romber:
Ich habe heute meinen neuen SSL-Zertifikat von Comodo erhalten. Das sind drei crt-Dateien sowie eine Textdatei mit dem Zertifikat in Textform.
Wie lauten denn die Dateinamen?

Zitat von romber:
Den Zerifikat konnte ich konvertieren.
Aber für die Verwendung mit Indy benötige ich noch die Key-File und Root-Zertifikat-File ebenfalls im PEM-Format.
Kann mir jemand ein Tipp geben, wie ich diese konvertiere?
Du hast Dein Zertifikat bereits erfolgreich konvertiert. Wenn Du die .PEM Datei kopierst und mal als Textdatei ansiehst, sollte da etwas stehen wie:

Zitat:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Den gesamten Teil (inklusive der Linien mit Begin/End) von Private Key kopierst Du in eine neue Datei, die Du z.B. Server.key nennst. Den Certificate Teil ebenso, z.B. in Server.crt.

Jetzt brauchst Du noch das RootCA Zertifikat. Dies ist das Zertifikat Deines Ausstellers, hier also Comodo . Du hast das RootCA entweder direkt von Comodo erhalten oder aber kannst das Zertifikat aus dem Internet Explorer exportieren (Base64 CER). Übrigens sind CER Base64 Dateien aus Windows identisch mit dem PEM Format.

Die Root CAs von Comodo findest Du z.B. im Firefox unter Tools > Options > Advanced > Encryption > View Certificates > Authorities (einmal in der Gruppe Comodo CA Limited und eins unter GTE Ltd). Dort kannst Du diese Exportieren (als PEM). Welches das richtige ist, hängt von Deinem Zertifikat und Aussteller ab.

Folgende Optionen sind im Server noch wichtig:
  • Der Event IdServerIOHandlerSSLOpenSSL.OnGetPassword wird verwendet, um OpenSSL das Passwort für Dein privates Zertifikat zu geben
  • IdServerIOHandlerSSLOpenSSL.SSLOptions.Mode auf "sslmServer" stellen
  • IdServerIOHandlerSSLOpenSSL.SSLOptions.VerifyDepth steuer die Akzeptanz der Tiefe der Zertifikatskette (z.B. RootCA -> CA1 -> Server Zertifikat entspricht 2)
  • IdServerIOHandlerSSLOpenSSL.SSLOptions.Method steuert, welche Protokolle Du unterstützen willst (Kompatibilität sslvSSLv23, heute üblicherweise aber sslvSSLv3 oder sslvTLSv1).
  • IdServerIOHandlerSSLOpenSSL.SSLOptions.VerifyMode. sslvrfPeer ermöglicht vom Client ebenfalls ein Zertifikat zu verlangen und über die Methode OnVerifyPeer gegenzuprüfen

Folgende Optionen im Client sind wichtig:
  • IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode auf "sslmClient" oder "sslmUnassigned" stellen
  • IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method auf sslvTLSv1 (wie vom Server gefordert) stellen
  • IdSSLIOHandlerSocketOpenSSL.SSLOptions.VerifyMode. sslvrfPeer ermöglicht mit der Methode OnVerifyPeer das Server Zertifikat zu prüfen

Diese beiden IOHandler weist Du den entsprechenden Komponenten zu. Bei FTP mit SSL (FTPS auf 21, FTPES auf 990) ist noch wichtig, die DataPortProtection einzuschalten und UseTLS auf Explizit/Implizit oder Require zu stellen, je nach Anforderung und Wunsch.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#8

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 2. Jun 2009, 14:03
Zitat von Assertor:
IdServerIOHandlerSSLOpenSSL.SSLOptions.VerifyMode. sslvrfPeer ermöglicht vom Client ebenfalls ein Zertifikat zu verlangen und über die Methode OnVerifyPeer gegenzuprüfen
Da verstehe ich nicht ganz. Ich habe ein Zertifikat, das die Identität meiner Domain überprüft. Ich meine, wenn ich das Zertifikat mit irgendeiner anderen Domain einsetze, ist es ungültig. Welches Zertifikat muss in diesem Fall der Client haben?
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#9

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 2. Jun 2009, 14:14
Hi,

Zitat von romber:
Zitat von Assertor:
IdServerIOHandlerSSLOpenSSL.SSLOptions.VerifyMode. sslvrfPeer ermöglicht vom Client ebenfalls ein Zertifikat zu verlangen und über die Methode OnVerifyPeer gegenzuprüfen
Da verstehe ich nicht ganz. Ich habe ein Zertifikat, das die Identität meiner Domain überprüft. Ich meine, wenn ich das Zertifikat mit irgendeiner anderen Domain einsetze, ist es ungültig. Welches Zertifikat muss in diesem Fall der Client haben?
Nicht verwirren lassen! Du hast im Server ein gültiges Zertifikat, der Client kann sich also sicher mit dem Server verbinden. Das oben genannte dient dazu, vom Client auch ein Zertifikat anzufordern. Da betrifft Dich hier absolut nicht.

Sehr vereinfacht gesagt: Man würde es einsetzen, um sich gegenseitig zu erkennen.

Beispiel:
- Domain1.com ist Server
- Domain2.com ist Client

Jetzt haben beide gültige Zertifikate für sich selbst (ihre Domain). Nun verbindet sich der Client mit dem Server, der Server hat ja ein gültiges Zertifikat und alles ist gut.

Wenn nun der Server aber möchte, daß sich der Client auch zu erkennen gibt (das ist sslvrfPeer im Server IO Handler), dann muß der Client für sich selbst, Domain2.com, ein gültiges Zertifikat haben.

Die sslvrfPeer Option im Server wird also verwendet, wenn der Client auch ein Zertifikat nutzen muß. In Deinem Fall könntest Du das gleiche Zertifikat nehmen, aber nur wenn der Client auf der selben Domain genutzt wird.

Das ist aber alles sehr vereinfacht dargestellt!

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.164 Beiträge
 
Delphi 10 Seattle Professional
 
#10

Re: Neuen SSL-Zerifikat: Verwendung mit IdHTTPServer???

  Alt 2. Jun 2009, 14:21
Ok, jetzt ist alles klar. Danke!
  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 00:31 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