AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Code Sign Zertifikat

Ein Thema von kuba · begonnen am 16. Sep 2023 · letzter Beitrag vom 30. Aug 2024
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.556 Beiträge
 
Delphi 12 Athens
 
#1

AW: Code Sign Zertifikat

  Alt 28. Aug 2024, 22:36
So, ich habe jetzt mal meine angedachte Lösung testweise implementiert, wobei ich mich freuen würde, wenn jemand sich das mal ansehen könnte. Könnte ja evtl. auch eine Blaupause für eine eigene Lösung sein. Oder Ihr macht mir klar, dass ich auf dem Holzweg bin )

Ich habe jetzt mal ein Programm nicht als Setup.exe auf meine HP gelegt, sondern als Setup_HTMLEditor.zip.
Das ist kein offizieller Link, poste ich nur hier:

https://www.hastasoft.de/Setup_HTMLEditor.zip

Diese Datei runter laden, alles in einen Ordner entpacken und die "Setup.exe" starten. Die Setup.exe ist sozusagen meine "Ewigkeits-Setup.exe", weil ich die nie mehr ändern muss. Die habe ich jetzt noch mit dem KSoftware-Zertifikat signiert und mit dieser Datei hat ja Windows keine Probleme (auch wenn das Zertifikat zeitlich abgelaufen ist), sollte also ohne Probleme mit "blauem Schild" und verifiziertem Herausgeber starten.

Die Setup.exe holt sich aus der Setup_Resources.dll die benötigten Setupdateien. Die DLL ist mit meinem selbst ausgestelltem Zertifikat signiert, damit mir keiner da was anderes unterschieben kann (wird auch überprüft). Während des Setups bekommt der User das Angebot das Hastasoft Stammzertifikat auf seinem PC zu installieren (man muss die Checkbox aktivieren).

Wenn man den Hilfe-Schalter drückt, bekommt man auch den Hinweis auf die

https://www.hastasoft.de/Zertifikate.htm

(auch noch kein offizieller Link), wo man sich die Informationen zum Stamm- und zum Codesigning Zertifikat ansehen kann.

Das kann man dann vergleichen mit dem Fingerprint, den Windows bei seiner Warnung ausgibt, dass ein Stammzertifikat eines unbekannten Herstellers auf dem PC installiert werden soll.

Eigentlich alles ganz transparent und sicher.

Oder was meint Ihr?

Die Installation funktioniert auch ohne Installation des Stamm-Zertifkats, man kann auch alle Programme ausführen. Aber das eigene, selbst erstellte Zertifikat in "HTMLEd.exe" kann man eben nur verifizieren, wenn man das Hastasoft Stamm-Zertifkat auf dem PC installiert hat.

Geändert von Harry Stahl (28. Aug 2024 um 23:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.896 Beiträge
 
Delphi 12 Athens
 
#2

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 07:29
Kommt eigentlich die Smartscreen Warnung auch, wenn ein signiertes Programm ein unsigniertes startet? Sonst könntest du doch noch einen Launcher signieren, der das eigentliche Programm startet...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#3

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 10:44
signierte Explorer.exe -> unsigniertes Programm starten -> Peng
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.556 Beiträge
 
Delphi 12 Athens
 
#4

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 19:44
signierte Explorer.exe -> unsigniertes Programm starten -> Peng
Von welcher Konstellation sprichst Du und was meinst Du mit "Peng"?
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.556 Beiträge
 
Delphi 12 Athens
 
#5

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 19:44
Kommt eigentlich die Smartscreen Warnung auch, wenn ein signiertes Programm ein unsigniertes startet? Sonst könntest du doch noch einen Launcher signieren, der das eigentliche Programm startet...
Nein kommt nicht. Aber für spezielle Fälle hatte ich mir so etwas ähnliches auch schon überlegt.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.676 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 12:23
So, ich habe jetzt mal meine angedachte Lösung testweise implementiert, wobei ich mich freuen würde, wenn jemand sich das mal ansehen könnte. Könnte ja evtl. auch eine Blaupause für eine eigene Lösung sein. Oder Ihr macht mir klar, dass ich auf dem Holzweg bin )

Ich habe jetzt mal ein Programm nicht als Setup.exe auf meine HP gelegt, sondern als Setup_HTMLEditor.zip.
Das ist kein offizieller Link, poste ich nur hier:

https://www.hastasoft.de/Setup_HTMLEditor.zip

Diese Datei runter laden, alles in einen Ordner entpacken und die "Setup.exe" starten. Die Setup.exe ist sozusagen meine "Ewigkeits-Setup.exe", weil ich die nie mehr ändern muss. Die habe ich jetzt noch mit dem KSoftware-Zertifikat signiert und mit dieser Datei hat ja Windows keine Probleme (auch wenn das Zertifikat zeitlich abgelaufen ist), sollte also ohne Probleme mit "blauem Schild" und verifiziertem Herausgeber starten.
Bei mir kommt dann erstmal der Virenscanner, der einen "vom Administrator geforderten" (oder so ähnlich) Scan durchführt. Dann kommt die Sicherheitsabfrage, die Dein Zertifikat anzeigt und dann der Installer und läuft problemlos durch. Der Editor lässt sich dann auch ohne irgendwelche Meldungen starten.

Ach ja: Windows 10 mit dem Defender als Snakeoil.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.810 Beiträge
 
Delphi 12 Athens
 
#7

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 15:39
Einfachste Lösung: Magic Bytes rauslöschen und in einen msi-Installer packen. Keine Signatur nötig. Und keine meckernden Schlangen oder Öle. Quelle: https://www.heise.de/news/Malware-UU...r-9851699.html
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 19:02
Moin Moin,
ich habe das nicht so tief verfolgt (den Thread hier) - nur so weit, das eine Executable signiert werden soll ?
Man kann ja erstmal ALLES lokal testen, bevor man bei "Code Sign" oder einer anderen CA seines Vertrauens ein Zertifikat für teuer bestellt - weil das geht fast problemlos auch ohne (also Eigene CA und Self Sign Cert).

Dazu muss/ist die im Microsoft SDK vorhandene signtool.exe erforderlich.
Und das Zertifikat muss dann dem Provider (der Lokale Rechner) bekannt gemacht werden.

Dazu verwende ich als Template folgendes PowerShell Script:

Code:
# ---------------------------------------------------------------------------
# File:  gencert.cmd - generate a certificate fot executable signing.
# Author: Jens Kallup - paule32
#
# Rights: (c) 2024 by kallup non-profit software
#         all rights reserved
#
# only for education, and for non-profit usage !!!
# commercial use ist not allowed.
#
# To create the certificate, copy lines 13, ..., 19 into the clipboard, and
# paste the copied text into powershell console. Press return, and voila:
# you have a self signed certificate into your local certification store.
# ---------------------------------------------------------------------------
New-SelfSignedCertificate `
    -Type Custom         `
    -Subject "CN=kallup non-profit" `
    -KeyUsage DigitalSignature     `
    -FriendlyName "chmFilter"      `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3","2.5.29.19={text}")

$password = ConvertTo-SecureString -String "mypassword" -Force -AsPlainText
Export-PfxCertificate -cert "Cert:\CurrentUser\My\<fingerprint thumb>" -FilePath certificate.pfx -Password $password

# now, in the Visual Studio C++ Console:
# signtool sign /f ./certificate.pfx /p mypassword /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 observer.exe
muss natürlich angepasst werden.
HTH - Hope This Helps
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.556 Beiträge
 
Delphi 12 Athens
 
#9

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 19:49
Moin,
ich habe das nicht so tief verfolgt (den Thread hier) - nur so weit, das eine Executable signiert werden soll ?
Es geht hier nicht darum, wie man selber ein eigenes Zertifikat erstellt...
  Mit Zitat antworten Zitat
Benutzerbild von paule32.jk
paule32.jk

Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Code Sign Zertifikat

  Alt 29. Aug 2024, 20:34
das mit dem Administrator ist so ne Sache...

angenommen Du hast ein (Windows)Programm, das Adim-Rechte fordert:
- dann kommt auf jeden Account eine Admin-Meldung, egal ob Du da nun
mit Benutzer oder mit Benutzer-Admin Account werkelst
- dann hast Du aber nur eine Leasing-Timeout, sprich: wenn Du nach 30 Minuten
das selbe Programm starten möchtest, erscheint die gleiche Meldung (mit Key
abfrage)

das ähnliche ist, wenn Du einen Virenscanner wie A-Vast oder dem Defender ein
neues Programm unterjubbeln willst - dann kommt einmalig eine Meldung, und in
der restlichen Zeit merkt sich Avast oder Defender den Ort + Datum + Hash der
Datei.

Sollte dann an dieser Datei eine Änderung vorgenommen werden, dann wird der alte
berechnete Hash überschrieben. Und beim (neu)starten der Anwendung erscheint wieder
die der Dialog mit Admin + Key ...

Man kann das aber auf den Entwicklungs-Rechner so lösen, das man spezielle Ausnahmen
dem Avast oder dem Defender beibringt.
Das können zum Beispiel nur einzelne Executable-Dateien oder aber auch ganze
Verzeichnisse sein.

Auf einen produktiv-System hingegen würde ich nicht mit den installierten Admin-Account
die Programme freischalten, weil es auch dort den Key erfordert.

Eine Möglichkeit wäre, sich in den Richtlinien des Computers sich:
1. eine Organization anlegen (OU = Orgranization Unit)
das hat den Vorteil, dass das vorliegende Setup nicht durch Experiemente an den
Richtlienen der jeweiligen Organization (hier: default) kaputt macht.
2. einen oder mehrere Admin-Benutzer-Account's anlegen (und ggf. abmelden und mit den
gewünschten Admin-Account weiter machen.
Passwort natürlich ändern.
3. eine oder mehrere Benutzergruppe anlegen
4. in den Benutzergruppen dann Mitglieder aufnehmen (normale Benutzer Account's)
5. den Benutzergruppen den Admin-Account als "Member of" hinzufügen

Dann könnte man sich an die Login-Zeiten und/oder Verzeichnis-Rechte heran tasten,
so dass nur bestimmte Gruppen oder Benutzer Zugriff auf veerbte oder statisch erstellte
Objekte zugreifen können.

Wenn sich nun ein Admin-Benutzer sich in das System einloggt, dann kann dieser Benutzer
mit seinen "Eigenen" Passwort das Programm starten, ohne dabei ab Super-Admin-Rechte zu
gelangen.

Das ganze kann man fast unendlich weiter treiben (zum Beispiel mit ActiveDirectory, wo
dann Domains mit Domains untereinander kommunizieren können (oder Beschränkungen unter-
liegen, die dann weiter eingeschränkt werden können,

ansonsten, das übliche weiter im Konzert (was bereits geschrieben wurde).
etc. pp... blah bla...
Frag doch einfach
Alles was nicht programmiert werden kann, wird gelötet
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz