Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi P12 Zertifikat: Daten auslesen (https://www.delphipraxis.net/198678-p12-zertifikat-daten-auslesen.html)

Lemmy 23. Nov 2018 07:48

P12 Zertifikat: Daten auslesen
 
Hallo,

ich habe hier ein P12-Zertifikat.
Wenn ich das in Windows öffne (Kontextmenü - öffnen) kann ich u.a. Aussteller, ausgestellt für, Gültig ab,.. im certmgr ablesen - ohne Passworteingabe.

Ich habe nun mit OpenSSL die Konvertierung der p12 umgesetzt, so dass ich am Ende ne Textdatei habe die ich parsen kann - dazu brauch ich aber das Passwort, was etwas ungünstig ist, aber gut.

Problem: Ich habe ein weiteres Zertifikat. Das wurde nicht per Passwort erstellt, sondern auf Basis des ersten Zertifikats:

Zertifikat A mit Passwort erstellt
Zertifikat B mit Zertifikat A erstellt

Auch das kann ich im certmgr öffnen und die Daten auslesen. Per OpenSSL gelingt mir das nicht, weil das Teil ständig ein Passwort von mir will (das ich nicht habe und das Passwort von Zert A geht nicht) und ich keine Ahnung habe und nix im Netz finde, wie ich hier das Zertifikat A als Passwortersatz angebe.



So hier meine Fragen:
Gibt es ne Möglichkeit die Daten (Ausgestellt für, Aussteller, Gültig ab, Gültig bis,...) aus einem P12-Zertifikat auszulesen ohne Passworteingabe?

Ich habe mir auch mal die WinCryptApi angeschaut incl. Delphi Wrapper, die wurde aber durch die CNG abgelöst - und wenn ich mir anschaue, sehe ich da auch wieder nur Beispiele mit notwendigem Passwort...

Grüße

Assarbad 23. Nov 2018 10:29

AW: P12 Zertifikat: Daten auslesen
 
Zitat:

Zitat von Lemmy (Beitrag 1418877)
Zertifikat A mit Passwort erstellt
Zertifikat B mit Zertifikat A erstellt

Das ergibt alles noch wenig Sinn. Meinst du, daß du kombiniert Zertifikat und zugehörigen privaten Schlüssel hast und letzterer paßwortgeschützt ist?

Ein Zertifikat ist ja erst einmal nichts schützenswertes an sich. Bei öffentlichen CAs sind die oft ja sogar direkt einsehbar (also die ausgestellten Zertifikate ... die der CAs ja ohnehin).

Oder meinst du, daß in einem Fall eine Passphrase als Seed für die Erstellung eines privaten Schlüssels diente und dann darauffolgend Zertifikat A quasi als Passphrase zur Erstellung des zu B gehörenden privaten Schlüssels?

Zitat:

Zitat von Lemmy (Beitrag 1418877)
Auch das kann ich im certmgr öffnen und die Daten auslesen. Per OpenSSL gelingt mir das nicht, weil das Teil ständig ein Passwort von mir will (das ich nicht habe und das Passwort von Zert A geht nicht) und ich keine Ahnung habe und nix im Netz finde, wie ich hier das Zertifikat A als Passwortersatz angebe.

NULL (nil) oder Leerstring mag er nicht?

Zitat:

Zitat von Lemmy (Beitrag 1418877)
Gibt es ne Möglichkeit die Daten (Ausgestellt für, Aussteller, Gültig ab, Gültig bis,...) aus einem P12-Zertifikat auszulesen ohne Passworteingabe?

Ein Zertifikat sollte man eigentlich immer auslesen können. Siehe oben. Daran ist nichts schützenswertes.

Zitat:

Zitat von Lemmy (Beitrag 1418877)
Ich habe mir auch mal die WinCryptApi angeschaut incl. Delphi Wrapper, die wurde aber durch die CNG abgelöst - und wenn ich mir anschaue, sehe ich da auch wieder nur Beispiele mit notwendigem Passwort...

Nichts gegen CNG. Ich war begeistert als ich da im Rahmen des Verfassens unseres ELAM-Treibers mit zu tun hatte. Denn die API existiert in gleicher Form im Usermode und Kernelmode.

Lemmy 23. Nov 2018 10:54

AW: P12 Zertifikat: Daten auslesen
 
Zitat:

Zitat von Assarbad (Beitrag 1418908)
Oder meinst du, daß in einem Fall eine Passphrase als Seed für die Erstellung eines privaten Schlüssels diente und dann darauffolgend Zertifikat A quasi als Passphrase zur Erstellung des zu B gehörenden privaten Schlüssels?


so was in der Art hätte ich vermutet - aber ich habe da deutlich weniger Plan als du :-)



Zitat:

Zitat von Assarbad (Beitrag 1418908)
NULL (nil) oder Leerstring mag er nicht?

zumindest leer mag er nicht, nil muss ich mal versuchen... - Nö bringt beides nichts...

Zitat:

Zitat von Assarbad (Beitrag 1418908)
Ein Zertifikat sollte man eigentlich immer auslesen können. Siehe oben. Daran ist nichts schützenswertes.

schon, die p12 Dateien sind aber halt Binärdateien. Der Bereich mit den "Userinfos" die mich interessieren kann ich auch erkennen, aber keine Idee, wie ich das ohne Umlaut- und Sonderzeichenproblematik in Delphi auslesen soll...
infos dazu habe ich bisher keine gefunden - oder schlicht die falschen Suchbegriffe verwendet...


Zitat:

Zitat von Assarbad (Beitrag 1418908)
Zitat:

Zitat von Lemmy (Beitrag 1418877)
Ich habe mir auch mal die WinCryptApi angeschaut incl. Delphi Wrapper, die wurde aber durch die CNG abgelöst - und wenn ich mir anschaue, sehe ich da auch wieder nur Beispiele mit notwendigem Passwort...

Nichts gegen CNG. Ich war begeistert als ich da im Rahmen des Verfassens unseres ELAM-Treibers mit zu tun hatte. Denn die API existiert in gleicher Form im Usermode und Kernelmode.

schon, nur bringt mich das aktuell an dem Punkt nicht weiter. Würde mir ja auch ne c#-Dll erstellen, wenn ich damit von beiden Zertifikaten die relevanten Infos auslesen könnte...

hoika 23. Nov 2018 11:04

AW: P12 Zertifikat: Daten auslesen
 
Hallo Lemmy,
ist das ein KV-Connect-User-Zertifikat?

Lemmy 23. Nov 2018 13:38

AW: P12 Zertifikat: Daten auslesen
 
Zitat:

Zitat von hoika (Beitrag 1418919)
Hallo Lemmy,
ist das ein KV-Connect-User-Zertifikat?

Dich hätte ich nächste Woche angeschrieben *fg*

Nein, IT Vernetzung Facharztverträge BaWü, Arztzertifikat und Betriebsstättenzertifikat. Seid Ihr in dem Bereich auch aktiv?

Grüße

Assarbad 24. Nov 2018 22:51

AW: P12 Zertifikat: Daten auslesen
 
Verstehe ich es richtig, daß du auch nicht beeinflussen kannst, welche Daten in der P12-Datei lagern?

Kannst du mal "openssl pkcs12" bemühen um uns mehr Details über die enthaltenen Daten zu liefern?

hoika 25. Nov 2018 09:03

AW: P12 Zertifikat: Daten auslesen
 
Hallo Lemmy,
nein, sind wir nicht.

Lemmy 25. Nov 2018 17:32

AW: P12 Zertifikat: Daten auslesen
 
Zitat:

Zitat von Assarbad (Beitrag 1419081)
Verstehe ich es richtig, daß du auch nicht beeinflussen kannst, welche Daten in der P12-Datei lagern?

Kannst du mal "openssl pkcs12" bemühen um uns mehr Details über die enthaltenen Daten zu liefern?

Doch, aber leider ist das ertwas komplexer. Ich gebe Aussteller sowie ein paar Zusatzdaten an (BSNR und LANR = Betriebsstättennummer und Lebenslange Arztnummer an). Und ja, ich könnte mir das auch merken. Nur steht halt in der Anforderung, dass ich diese Daten aus dem Zertifikat auslesen und darstellen muss. d.h. ich muss das aus dem Zertifikat auslesen, nicht mir merken. Hört sich komisch an, ist aber so :-)

Zitat:

Zitat von hoika (Beitrag 1419088)
Hallo Lemmy,
nein, sind wir nicht.


da entgeht euch einiger Spaß ;-)

Lemmy 26. Nov 2018 13:43

AW: P12 Zertifikat: Daten auslesen
 
Danke für die Beteiligung, hat sich erledigt :-)

über certutil -dump <Zertifikat>

bekomme ich alle relevanten Daten ganz ohne Passwort angezeigt

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 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