Delphi-PRAXiS
Seite 10 von 10   « Erste     8910   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Code Sign Zertifikat (https://www.delphipraxis.net/213729-code-sign-zertifikat.html)

paule32.jk 29. Aug 2024 19:02

AW: Code Sign Zertifikat
 
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

Harry Stahl 29. Aug 2024 19:44

AW: Code Sign Zertifikat
 
Zitat:

Zitat von jaenicke (Beitrag 1540346)
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.

Harry Stahl 29. Aug 2024 19:44

AW: Code Sign Zertifikat
 
Zitat:

Zitat von himitsu (Beitrag 1540350)
signierte Explorer.exe -> unsigniertes Programm starten -> Peng :stupid:

Von welcher Konstellation sprichst Du und was meinst Du mit "Peng"?

Harry Stahl 29. Aug 2024 19:46

AW: Code Sign Zertifikat
 
Zitat:

Zitat von dummzeuch (Beitrag 1540359)
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.

Danke Thomas fürs Testen.

Also eigentlich alles ganz normal. Programme lassen sich auch ohne Probleme auf einem eingeschränkten Benutzerkonto (nach Anforderung der Adminrechte) installieren und später ausführen.

Harry Stahl 29. Aug 2024 19:47

AW: Code Sign Zertifikat
 
Zitat:

Zitat von Sherlock (Beitrag 1540376)
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

Bin natürlich nur an seriösen Lösungen interessiert... ;-)

Harry Stahl 29. Aug 2024 19:49

AW: Code Sign Zertifikat
 
Zitat:

Zitat von paule32.jk (Beitrag 1540390)
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...

paule32.jk 29. Aug 2024 20:34

AW: Code Sign Zertifikat
 
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...

DeddyH 29. Aug 2024 20:47

AW: Code Sign Zertifikat
 
Egal, was Du nimmst, Du solltest weniger davon nehmen. Es geht darum, dass ein herunterladbares Setup beim Endanwender den Virenscanner anschlagen lässt, wenn es kein Zertifikat einer offiziellen Stelle enthält. Da hilft eine OU und dergleichen nicht unbedingt weiter.

paule32.jk 29. Aug 2024 20:54

AW: Code Sign Zertifikat
 
ich kann ja gut verstehen, das der kapitalistische Markt auf "rollendes Geld" aufgebaut ist.
Aber ich bin der Meinung:
- bevor man viel Geld in den Sand setzt, sollte man soviel wie möglich, erstmal lokal testen
- es gibt Tools für die gängigen drei Betriebsysteme, die das ermöglichen
- man muss nur mal nachfragen...

..und nicht damit kommen, das der Eine oder Andere damit angenörgelt wird, als würde dann dieser
als Kapitalfeind Nummer Eins angesehen.

ich bin halt noch ein ehrlicher Spitzbube/Gauner...

freimatz 30. Aug 2024 17:48

AW: Code Sign Zertifikat
 
Ich denke Du hast das Problem nicht verstanden. Ich wiederhole:
Zitat:

Zitat von DeddyH (Beitrag 1540401)
Egal, was Du nimmst, Du solltest weniger davon nehmen. Es geht darum, dass ein herunterladbares Setup beim Endanwender den Virenscanner anschlagen lässt, wenn es kein Zertifikat einer offiziellen Stelle enthält. Da hilft eine OU und dergleichen nicht unbedingt weiter.

(fett von mir)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr.
Seite 10 von 10   « Erste     8910   

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 by Thomas Breitkreuz