AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie finde ich heraus, WER eine .exe-Datei signiert hat
Thema durchsuchen
Ansicht
Themen-Optionen

Wie finde ich heraus, WER eine .exe-Datei signiert hat

Ein Thema von mabuch · begonnen am 3. Mai 2009 · letzter Beitrag vom 19. Mai 2009
Antwort Antwort
mabuch

Registriert seit: 2. Mai 2009
5 Beiträge
 
#1

Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 3. Mai 2009, 20:17
Ich habe unter http://www.delphipraxis.net/internal...t.php?p=329268 bereits eine Lösung gefunden, wie ich herausfinden kann, OB ein Programm gültig signiert wurde. Ich habe dies Unit auch schon ausprobiert und sie scheint zu funktionieren.

Meine Frage ist nun, wie ich mit Delphi ein Programm schreiben kann, das herausfindet, WER die Anwendung signiert hat.
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 4. Mai 2009, 00:17
Meinst du mit WER den Wert des CNs oder die Person, die das Zertifikat hinzugefügt hat (könnten ja zwei unterschiedliche sein).
Daniel Marschall
  Mit Zitat antworten Zitat
mabuch

Registriert seit: 2. Mai 2009
5 Beiträge
 
#3

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 4. Mai 2009, 23:56
Ich weiß nicht was ein CN ist.
Ich meine den Herausgeber der Software. Wenn ich meine Software signiere steht nach einem Rechtsklick mit der Maus auf die exe-Datei unter 'Eigenschaft' im Reiter 'digitale Signatur' mein Name als 'Signaturgeber'.
Diesen Eintrag meine ich.
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 5. Mai 2009, 06:59
Deine Freunde (und zwar alle) sind:
MSDN-Library durchsuchenCryptQueryObject, MSDN-Library durchsuchenCryptMsgGetParam, MSDN-Library durchsuchenCertFindCertificateInStore sowie MSDN-Library durchsuchenCertGetNameString.
Fridolin Walther
  Mit Zitat antworten Zitat
mabuch

Registriert seit: 2. Mai 2009
5 Beiträge
 
#5

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 5. Mai 2009, 09:39
Schon mal danke für die Links zu MS. Ich werde versuchen, aus denen schlau zu werden.
Sollte hier jemand bereits eine Lösung für Delphi, die die oben genannten Befehle nutzt, entwickelt haben, würde ich mich natürlich sehr über ein entsprechendes Post freuen.
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 5. Mai 2009, 10:12
Einfach nur die Header übersetzen.
Hier zum Beispiel für CryptQueryObject mal schnell getippt:

Delphi-Quellcode:
const
  crypt32 = 'Crypt32.dll';


  function CryptQueryObject(ObjectType : Cardinal; AObject : Pointer;
    ExpectedContentTypeFlags : Cardinal; ExpectedFormatTypeFlags : Cardinal;
    Flags : Cardinal; MsgAndCertEncodingTyper : PCardinal; ContentType : PCardinal;
    FormatType : PCardinal; CertStore : Pointer; Msg : Pointer; Context : PPointer) : BOOL;
      stdcall; external crypt32 name 'CryptQueryObject';
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#7

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 5. Mai 2009, 20:45
Also wirklich "einfach" fand ich das nicht. Deshalb teile ich hier mal meine Arbeit.
Die angefügte Unit uCertTest basiert auf auf dem Posting von TKC sowie einem Eintrag bei experts-exchange.

Du brauchst daraus die Funktion GetInfoFromCert.
Also etwa so:
Delphi-Quellcode:
sName := GetInfoFromCert(sFile, cCertSubjectName);
sAussteller := GetInfoFromCert(sFile, cCertIssuerName);
Weitere Erläuterungen kann ich aus Zeitmangel gerade nicht liefern. Sollte aber selbsterklärend sein, wenn Du Dir die Unit genauer anschaust.
Habe ich produktiv im Einsatz, sollte also funktionieren.
Angehängte Dateien
Dateityp: pas ucerttest_122.pas (15,0 KB, 36x aufgerufen)
  Mit Zitat antworten Zitat
mabuch

Registriert seit: 2. Mai 2009
5 Beiträge
 
#8

Re: Wie finde ich heraus, WER eine .exe-Datei signiert hat

  Alt 19. Mai 2009, 14:01
Vielen Dank für die Antwort. Ich hoffe, dass die anderen genauso helfen kann wie mir.
  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 21:03 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