AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Server
Thema durchsuchen
Ansicht
Themen-Optionen

(Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Server

Ein Thema von sECuRE · begonnen am 30. Aug 2006 · letzter Beitrag vom 5. Jul 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#1

(Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Server

  Alt 30. Aug 2006, 21:37
Hi,

ich verwende in meinem Client/Server-Programm die Indykomponenten (TIdTCPClient). Diese möchte ich nun gerne mit SSL ausstatten, was auch soweit ganz gut klappt.

Allerdings habe ich jetzt das leidige Problem mit den Zertifikaten. Ich hab mir aus einem Beispiel welche kopiert, und das klappt soweit auch.

Jetzt möchte ich allerdings gerne eigene Benutzen, weiß aber nicht, wie ich meinen Programmen beibringen kann, welche zu erzeugen (an die OpenSSL-DLLs komme ich ran, den Sourcecode (bis auf die openssl_lib.pas) seht ihr auf http://nopaste.tshw.de/1156963801bd0b4).

Benötigt werden genauer 3 Zertifikate, einmal das Rootzertifikat (sampleRoot.pem), das beginnt mit "CERTIFICATE" in der Datei. Dann der Schlüssel selbst (beispiel.key), der mit "RSA PRIVATE" beginnt und (anscheinend) der öffentliche Teil des Schlüssels (beispiel.crt), der wieder mit "CERTIFICATE" beginnt.

Hat da jemand Erfahrungen, eine Lösung oder Tipps? Ich wäre für alles dankbar, sowohl Beispielquelltext in irgendeiner Sprache (Delphi natürlich) bevorzugt, als auch Lösungen die openssl.exe aufrufen, oder was auch immer - hauptsache es kommen mit vertretbarem Aufwand die genannten Dateien am Ende dabei heraus.

Vielen Dank schon mal für die Hilfe und viele Grüße
sECuRE
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 10. Sep 2006, 21:29
*Post hochschieb*

würd mich auch interessieren wie des geht
Robert
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 10. Sep 2006, 21:31
Bei OpenSSL müßte es eigentlich Tools zum erstellen von Keys und Zertifikaten geben.
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 10. Sep 2006, 22:44
Erstmal OpenSSL besorgen und installieren.

Dann eine Konsole öffnen und in das Verzeichnis C:\Programme\OpenSSL\bin wechseln.
Dort dann openssl.exe aufrufen.

Code:
OpenSSL> req -config openssl.cnf -new -out zertifikat.csr
Enter PEM pass phrase: Mein Passwort
Country Name: DE
State or Province Name: Mein Bundesland
Locality Name: Mein Ort
Organization Name: Meine Firma
Organization Unit Name: Meine Abteilung
Common Name: Mein Name
Email Adress: ich@du.de
A challenge Passwort: Mein Zertifikat-Passwort

Code:
OpenSSL> rsa -in privkey.pem -out zertifikat.key
Enter pass phrase for privkey.pem: Mein Passwort

Code:
OpenSSL> x509 -in zertifikat.csr -out zertifikat.cert -req -signkey zertifikat.key -days 365
(365 Tage gültig, kann auch anders gewählt werden)

Code:
OpenSSL> exit
Die erstellten Dateien befinden sich jetzt im BIN-Ordner.

privkey.pem -> sample.key
zertifikat.cert -> sample.crt, sampleRoot.pem

Delphi-Quellcode:
  IdServerIOHandlerSSLOpenSSL.SSLOptions.KeyFile:='sample.key';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.CertFile:='sample.crt';
  IdServerIOHandlerSSLOpenSSL.SSLOptions.RootCertFile:='sampleRoot.pem';
:
procedure TForm.IdServerIOHandlerSSLOpenSSLGetPassword(var Password: String);
begin
  password:= 'Mein Passwort';
end;
Hoffe das hilft.

Gruss
Thorsten
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 11:54
Also ich hab jetzt die Zertifikate erstellt, dann die privkey.pem in sample.key umbenannt und die zertifikat.cert kopiert und in sample.crt und sampleRoot.pem umbenannt.

Allerdings erhalte ich immer den Fehler 'Could not load SSL Library'

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile := 'sample.key';
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile := 'sample.crt';
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile := 'sampleRoot.pem';

  Memo1.Lines.Add(IdHTTP1.Get('https://www.digiposter.de/info/de/test_ssl.html'));
end;

procedure TForm1.IdSSLIOHandlerSocketOpenSSL1GetPassword(var Password: string);
begin
  password:= '*********';
end;
Beim IdHTTP1 ist als IOHandler IdSSLIOHandlerSocketOpenSSL1 eingestellt. Was mach ich falsch?
Robert
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 19:06
Hallo MrPayne,

kommt der Fehler auch mit den Beispieldateien?

Bei mir war das so und ich habe dann noch etwas verändert. Vielleicht kannst du das ja noch mal mit den original Beispieldateien testen.

Gruss
Thorsten
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 19:42
Fehler gefunden. Man braucht extra openssl DLLs
Robert
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 19:43
Kannst du da noch etwas genauer werden?

Welcher, Woher, Wohin...
  Mit Zitat antworten Zitat
RobertP

Registriert seit: 19. Aug 2006
181 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 19:47
Die DLLs bekommst du hier. Einfach in selben Ordner wie das Programm packen.
Robert
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: (Indy/OpenSSL) Zertifikate erstellen für SSL-Client/Serv

  Alt 11. Sep 2006, 20:06
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:56 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