AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

eigenes Zertifikat

Ein Thema von haentschman · begonnen am 19. Feb 2019 · letzter Beitrag vom 29. Jul 2020
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.466 Beiträge
 
Delphi 12 Athens
 
#1

AW: eigenes Zertifikat

  Alt 24. Jul 2020, 11:17
Hallo alle...
ich mache mich mal wieder dran...Tipps sind immer gern gesehen.

Neue Infos:
1. Postbuild BAT (oben)
2. rechtes Fenster Kompilat
3. linkes Fenster Kopie des Kompilates
4. Build Ausgabe:
Zitat:
Build started 24.07.2020 12:52:52.
.
.
.

Target PostBuildEvent:
E:\Projects\Projects_Delphi\xxx\Work\Source\_PostB uild\xxx_Release.bat

The following certificate was selected:
Issued to: xxx Signierung

Issued by: xxx Signierung

Expires: Sun Jan 01 01:59:59 2040

SHA1 hash: B072C0649B1F43AB7F14950BFFDC38ED379303D1


Done Adding Additional Store
Successfully signed: E:\Projects\Projects_Delphi\xxx\_out\Development_R untime\xxx.exe


Number of files successfully Signed: 1

Number of warnings: 0

Number of errors: 0



Verifying: E:\Projects\Projects_Delphi\xxx\_out\Development_R untime\xxx.exe


Signature Index: 0 (Primary Signature)
Hash of file (sha256): ADEED8AD4D62E3B4F64638F1660749EB96FA46817589B3C8E2 288CFA50E68569

Signing Certificate Chain:
Issued to: xxx Signierung

Issued by: xxx Signierung

Expires: Sun Jan 01 01:59:59 2040

SHA1 hash: B072C0649B1F43AB7F14950BFFDC38ED379303D1


File is not timestamped.


Successfully verified: E:\Projects\Projects_Delphi\xxx\_out\Development_R untime\xxx.exe


Number of files successfully Verified: 1

Number of warnings: 0

Number of errors: 0

1 Datei(en) kopiert.
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:01:39.24
!!! alle Dateien in den Ordnern entfernt

Fragen:
1. Warum ist die Kopie 3 Minuten älter?
2. Warum hat die Kopie die richtige Signatur?
3. Warum unterscheiden sich die Dateigrößen?


Danke.
Angehängte Grafiken
Dateityp: jpg Signatur.jpg (144,2 KB, 29x aufgerufen)
Dateityp: png Signatur_1.png (10,6 KB, 15x aufgerufen)
Dateityp: png Compiler.png (29,1 KB, 14x aufgerufen)

Geändert von haentschman (24. Jul 2020 um 12:25 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

AW: eigenes Zertifikat

  Alt 24. Jul 2020, 11:31
Diesen Artikel hast du bestimmt schon gefunden oder?
https://stackoverflow.com/questions/...ing-on-windows
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: eigenes Zertifikat

  Alt 24. Jul 2020, 11:38
Ich weiß es jetzt nicht, aber um für Virenscanner nicht böse dazustehn, wird man das bestimmt nicht einfach "blind" und ohne Verlinkung hinten an die EXE anhängen.

Also entweder das Zertifikat wird als Ressource eingefügt, was du leicht mit einem Ressource-Editor/Hacker/... nachsehn kannst.
Oder es wird als Section ins PE-Format integriert. IMAGE_SECTION_HEADER ... da gibt es auch ein paar Progrämmchen, welche dir die Sektionen auflisten.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Jul 2020 um 14:37 Uhr) Grund: Schlechtschreibung
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.466 Beiträge
 
Delphi 12 Athens
 
#4

AW: eigenes Zertifikat

  Alt 24. Jul 2020, 12:16
Danke...siehe meinen vorhergehenden Post. (EDIT) https://www.delphipraxis.net/1470277-post25.html
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

AW: eigenes Zertifikat

  Alt 24. Jul 2020, 17:55
Ihr habt mich inspiriert ein Video zu erstellen - danke dafür.

Code-Signierung - Wie ihr eure Programme und Firma schützen könnt
https://www.youtube.com/watch?v=UhhaNX2zQwY
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.466 Beiträge
 
Delphi 12 Athens
 
#6

AW: eigenes Zertifikat

  Alt 25. Jul 2020, 10:50
Moin...
Zitat:
Warum hat die Kopie die richtige Signatur?
Ich denke inzwischen, daß das Signieren klappt. Aber bei der Dateierstellung irgendetwas schiefläuft. Wenn ich die Datei, mit der Signatur (die Kopie), in irgendeinen Ordner, auch im Netzwerk (mit installiertem Zertifkat), kopiere, wird das mit Zertifikat in den Eigenschaften angezeigt. Im Original nach dem Kompilieren nicht.

Seht ihr an der Batch was Falsches? Irgend ein Cache der das auslöst?

Danke...
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.466 Beiträge
 
Delphi 12 Athens
 
#7

AW: eigenes Zertifikat

  Alt 25. Jul 2020, 10:54
Moin...
Zitat:
Warum hat die Kopie die richtige Signatur?
Ich denke inzwischen, daß das Signieren klappt. Aber bei der Dateierstellung irgendetwas schiefläuft. Wenn ich die Datei, mit der Signatur (die Kopie ), in irgendeinen Ordner, auch im Netzwerk (mit installiertem Zertifkat), kopiere, wird das mit Zertifikat in den Eigenschaften angezeigt. Im Original nach dem Kompilieren nicht.

Seht ihr an der Batch was Falsches? Irgend ein Cache der das auslöst?

Code:
echo off

if not exist E:\Projects\Projects_Delphi\xxx\_out\Development_Runtime\xxx.exe exit
if not exist E:\Projects\Projects_Delphi\xxx\_out\app\KTE_Release\Win32 md E:\Projects\Projects_Delphi\xxx\_out\app\xxx_Release\Win32

E:\Projects\Projects_Delphi\xxx\Certificate\Tools\signtool.exe sign /v /s "xxx Certificate Store" /n "xxx Signierung" /fd SHA256 "E:\Projects\Projects_Delphi\xxx\_out\Development_Runtime\xxx.exe"
E:\Projects\Projects_Delphi\xxx\Certificate\Tools\signtool.exe verify /pa /v "E:\Projects\Projects_Delphi\xxx\_out\Development_Runtime\xxx.exe"

copy E:\Projects\Projects_Delphi\xxx\_out\Development_Runtime\xxx.exe E:\Projects\Projects_Delphi\xxx\_out\app\KTE_Release\Win32\xxx.exe
PS: xxx_Release\Win32\xxx.exe hat das richtige Zertifikat, _out\Development_Runtime\xxx.exe nicht
...das ist die Frage.

Danke...

Geändert von haentschman (25. Jul 2020 um 12:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: eigenes Zertifikat

  Alt 25. Jul 2020, 11:31
Nee, sieht OK aus.

Wenn die KTE_Release das hat, dann muss die Development_Runtime das natürlich auch haben, dazumal in der ja die Signatur hinzugefügt wurde.

Und egal ob das Zertifikat installiert ist oder nicht, angezeigt muß es dennoch werden, da es ja in der EXE drin stekt.
Das "Installiert" im Zertifikatsspeicher entscheidet nur darüber wie es angezeigt wird, also ob es verifiziert werden kann oder nicht.


Ich denke hier eher daran, dass z.B. der Explorer noch den alten Inhalt anzeigt und nicht aktualisiert wurde.
Ich hab das öfters mal mit der Dateigröße oder dem Änderungsdatum ... da hilft dann nichtmal ein F5 oder Explorer zu+auf ... aber mal kurz den Dateieigenschaftendialog auf und schon stimmte es auch in der Liste wieder, das kappte bisher eigentlich immer.


Aber du weißt doch bestimmt selbst, dass eine Fehlerhandlung nie schaden kann.
Code:
@echo off

:: ExitCode: 0 = OK / 1 = Failure / 2 = Warning

set file=xxx
set outdir=E:\Projects\Projects_Delphi\%file%\_out
set signtool="E:\Projects\Projects_Delphi\%file%\Certificate\Tools\signtool.exe"

if not exist "%outdir%\Development_Runtime\%file%.exe" exit /b 1
if not exist "%outdir%\app\KTE_Release\Win32" (
  md "%outdir%\app\%file%_Release\Win32"
  if errorlevel 1 exit /b 1
)

%signtool% sign /v /s "%file% Certificate Store" /n "%file% Signierung" /fd SHA256 "%outdir%\Development_Runtime\%file%.exe"
if errorlevel 1 exit /b %errorlevel%

%signtool% verify /pa /v "%outdir%\Development_Runtime\%file%.exe"
if errorlevel 1 exit /b %errorlevel%

copy "%outdir%\Development_Runtime\%file%.exe" "%outdir%\app\KTE_Release\Win32\%file%.exe"
if errorlevel 1 exit /b 1
@ : damit auch das echo off nicht angezeigt wird, weil ist ja erst danach aus
set : damit das Ganze bissl übersichtlicher wird
exit 123 und errorlevel : damit man außerhalb auch eine Fehlerprüfung vornehmen kann, z.B. im FinalBuilder/BuildServer/BuildScript oder Dergleichen das Ergebnis auswerten
exit /b statt exit : damit nur dieses Script abgebrochen und nicht gleich ALLEs (das aufrufende Script)

Statt BEFEHL mit anschließendem IF ginge z.B. auch COPY source dest || exit 1 , also wenn beim Ersten der ErrorLevel > 0, dann das Zweite ausführen.
https://ss64.com/nt/syntax-conditional.html

Code:
deine.cmd
if errorlevel 1 echo Fehler %errorlevel% & pause
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (25. Jul 2020 um 16:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.466 Beiträge
 
Delphi 12 Athens
 
#9

AW: eigenes Zertifikat

  Alt 25. Jul 2020, 13:37
Danke...

Morgen habe ich Zeit mich damit zu beschäftigen.
  Mit Zitat antworten Zitat
Antwort Antwort

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 23:59 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