AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Https zertifikat für Indy verstehen
Thema durchsuchen
Ansicht
Themen-Optionen

Https zertifikat für Indy verstehen

Ein Thema von QuickAndDirty · begonnen am 27. Jan 2022 · letzter Beitrag vom 21. Mär 2022
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#1

Https zertifikat für Indy verstehen

  Alt 27. Jan 2022, 16:38
Hallo ich habe eine große PEM datei bekommen in der alles drin stehen sollte was ich brauche.
Kann ich die einfach beim iohandler vom Webservice hinterlegen?

Delphi-Quellcode:
FServer := TIdHTTPWebBrokerBridge.Create(self);

  if Securemode then
  Begin
    LIOHandleSSL := TIdServerIOHandlerSSLOpenSSL.Create(fServer);
    LIOHandleSSL.SSLOptions.KeyFile := 'c:\webservice\MyDomain.PEM';
    LIOHandleSSL.SSLOptions.CertFile := 'c:\webservice\MyDomain.PEM';
    LIOHandleSSL.SSLOptions.RootCertFile := 'c:\webservice\MyDomain.PEM';
    LIOHandleSSL.OnGetPassword := OnGetSSLPassword;
    FServer.IOHandler := LIOHandleSSL;
  end;
oder musss ich die auseinander nehmen?


Folgenden teile hat die PEM datei
Code:
-----BEGIN CERTIFICATE REQUEST-----
MIIE3
kuddlemuddle
N0RSzv4BCuO4Vikw
-----END CERTIFICATE REQUEST-----

-----BEGIN PRIVATE KEY-----
MIIJ
Kuddelmuddel
1IXMpm68=
-----END PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
MIIH
kuddelmuddel
ITyBhlHw==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIG
Kuddelmuddel
xzlIPK1aEn8=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIF
kuddelmuddel
teRCBaho1+V
-----END CERTIFICATE-----
Wie kann ich die Zertifikate unterscheiden?

Was von den PEM abschnitten ist welcher x.509 standard?
Ich mein
wie bekomme ich dort eine Key, Cert und root datei raus?
Warum soviele Zertifikate?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Https zertifikat für Indy verstehen

  Alt 28. Jan 2022, 07:37
Hallo ich habe eine große PEM datei bekommen in der alles drin stehen sollte was ich brauche.
Kann ich die einfach beim iohandler vom Webservice hinterlegen?
...
Warum soviele Zertifikate?

Ja, die kann man so hinterlegen (siehe https://stackoverflow.com/questions/62068537/)

In der Datei sind mehrere Zertifikate, vermutlich handelt es sich um eine Zertifikatskette mit Zertifikaten der 'Intermediate' CAs.

Die Datei kann man vermutlich im Explorer über das Kontextmenü öffnen, die Zertifikatsinformationen werden dann angezeigt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#3

AW: Https zertifikat für Indy verstehen

  Alt 28. Jan 2022, 09:46
In den Beispielen sind es immer 3 Dateien.
Root und key funktionieren woh auch.
Aber beim lesen des Cert meldet
IDSSLOpenSSL.IndySSL_CTX_use_certificate_chain_file(ctx :PSSL_CTX; const AFileName: String) : TIdC_INT; Einen Fehler:

"Zertifikat konnte nicht geladen werden.
error:00000000:lib(0):func(0):reason(0)"
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Https zertifikat für Indy verstehen

  Alt 28. Jan 2022, 12:05
In den Beispielen sind es immer 3 Dateien.
Root und key funktionieren woh auch.
Aber beim lesen des Cert meldet
IDSSLOpenSSL.IndySSL_CTX_use_certificate_chain_file(ctx :PSSL_CTX; const AFileName: String) : TIdC_INT; Einen Fehler:

"Zertifikat konnte nicht geladen werden.
error:00000000:lib(0):func(0):reason(0)"
Jetzt sehe ich es auch

Ja, die drei Zertifikate und der private key müssen dann per copy & paste in vier einzelne Dateien übernommen werden.

Welches der Drei das das Server- und welches das Root-Zertifikat ist ist z.B. wieder mittels Explorer möglich.
Michael Justin
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#5

AW: Https zertifikat für Indy verstehen

  Alt 28. Jan 2022, 13:27
ist "certificate Request" für irgend etwas wichtig?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#6

AW: Https zertifikat für Indy verstehen

  Alt 20. Mär 2022, 11:22
Hallo,

ist zwar schon ein wenig was her, aber auch noch nicht zu lange

ist "certificate Request" für irgend etwas wichtig?
Für den Betrieb nicht - das CSR brauchst du, um das Zertifikat zu signieren (i.d.R. durch eine offizielle CA-Autorität). Also bei Neu-Ausstellung oder Verlängerung. Siehe auch: https://de.wikipedia.org/wiki/Certif...igning_Request

Grüße
Sebastian
  Mit Zitat antworten Zitat
Maliko

Registriert seit: 20. Jun 2019
89 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Https zertifikat für Indy verstehen

  Alt 21. Mär 2022, 07:37
Wenn du ne PFX-Datei hast kannst du über OpenSSL auch ganz bequem die Teile rausoperieren, die du für die Schnittstelle brauchst. Ich benutz dafür immer folgende Anleitung und das funktioniert einwandfrei: https://medium.com/beingcoders/easy-...s-683849242c65.

Einbinden tue ich das ganze dann immer wie folgt:
Delphi-Quellcode:
    LIOHandleSSL := TIdServerIOHandlerSSLOpenSSL.Create(FServer);
    LIOHandleSSL.SSLOptions.RootCertFile := '';
    LIOHandleSSL.SSLOptions.CertFile := 'C:\Cert\cert.crt';
    LIOHandleSSL.SSLOptions.KeyFile := 'C:\Cert\key.key';
    LIOHandleSSL.SSLOptions.Method:= sslvTLSv1_2;
    LIOHandleSSL.OnGetPassword := OnGetSSLPassword;
    FServer.IOHandler := LIOHandleSSL;
Wichtig ist in erster Linie vor allem den Key in eine extra Datei zu bekommen (und überspringe den Schritt das Passwort zu dekodieren. Das macht das Programm selbst über das OnGetPassword Event). Wie schon gesagt. Ich bau alle meine APIs auf diese Art und weise und benutz dafür immer die Verlinkte Anleitung und da hab ich bisher nie irgendwelche Probleme mit gehabt.
  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 03:43 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