AW: Code Signing - Grundsatzfragen
Hallo,
wie oben versprochen ein kleines Tutorial zum Thema Code signing mit startssl. Viele Grüße ... |
AW: Code Signing - Grundsatzfragen
Gigne nicht theoretisch auch ein Zertifikat von Cacert.org? Weil die währen ja kostenlos, du brauchst nur einen Assurer mit genügen Punkten.
|
AW: Code Signing - Grundsatzfragen
Zitat:
|
AW: Code Signing - Grundsatzfragen
Zitat:
Um die Regeln der KP kommt man bspw. nicht herum wenn die eigene Anwendung/DLL für AppInit funzen soll, mit dem WSC kommunizieren soll usw. ... Treiber ja ohnehin (sagt ja schon der Name ;)). Zitat:
Übrigens ist das mit "nur signtool" sei wichtig vermutlich dann hinfällig wenn man am Logo-Programm teilnimmt. Denn für diverse Methoden des Signierens muß das Zertifikat im "Certificate Store" (in der Registry) liegen und darf eben nicht als .pfx auf der Platte sein. Frag mich nicht warum, aber es geht dann wirklich nicht mehr mit .pfx ... signtool weigert sich dann nur noch. |
AW: Code Signing - Grundsatzfragen
Zitat:
|
AW: Code Signing - Grundsatzfragen
Ach das passt gerade schön. Hatte gerade neue Preise rausgesucht.
Preis pro Jahr bei jeweils der längst möglichen Laufzeit. 49USD (34,4421 EUR) / einmalig? https://www.startssl.com/ s.h. auch https://forum.startcom.org/viewtopic.php?f=15&t=1654 75USD (52,665 EUR) / Jahr https://secure.ksoftware.net/code_signing.html 118€ / Jahr http://www.trustcenter.de/products/t...thenticode.htm 135€/ Jahr http://www.certum.eu/certum/cert,offer_code_signing.xml 159€ / Jahr https://globalsign.wis.de/certs/info/object/ 167€ / Jahr http://www.instantssl.com/code-signing/ 264€ / Jahr http://www.thawte.com/code-signing/index.html 432€ / Jahr http://www.verisign.de/code-signing/...ode/index.html oder per Promotion Code 99 USD für nur 1 Jahr (und nicht länger) https://securitycenter.verisign.com/...Code=THEDEAL99 Nur mit dem Verisign Zertifikaten ist die Nutzung der zusätzlichen Dienste von Microsoft möglich. http://www.microsoft.com/whdc/winlog.../StartWER.mspx Erfahrungen: Bei KSoftware war mein Browser beim Kaufvorgang damals (vor ca. 5 Jahren) ausgestiegen und ich musste viele Emails schreiben, bis ich den bezahlten Kauf bekommen hatte. Bei StartSSL funktioniert ganz gut. Gekauft habe ich dort allerdings nie etwas. Unbedingt das Clientzertifikat sichern, wenn ihr euch dort angemeldet habt. Ohne dem Zertifikat könnt ihr euch dort nicht mehr anmelden! Comodo und Thawte laufen auch problemlos. Bei den beiden kaufe ich SSL Zertifikate über die deutsche Firma PSW Group (http://www.psw.net/). Von Thawte ist mein aktuelles Code Signing Zertifikat. Lief bis jetzt ohne Probleme. |
AW: Code Signing - Grundsatzfragen
Zitat:
So, und da alle Tutorials immer von den PFX-Dateien ausgehen, welche man signtool.exe füttert, hier die kurze Anleitung wie das Signieren auch ohne die PFX-Datei geht. Ich beziehe mich hier auf das Tutorial von Stefan (Grolle) und andere Tutorials. Hier nochmal der Link: http://blog.stefangöppert.de/?page_id=275 Außerdem ist diese Methode mal sicherer (siehe Hinweis ganz unten) und erklärt vielleicht auch jenen die nicht StartSSL benutzen die Hintergründe und Zusammenhänge der verschiedenen Dateien und Formate. Ich setze hier mal voraus, daß man zuvor die Validierung durchführen lassen hat. 1.) Privaten Schlüssel und CSR (certificate signing request) mit OpenSSL erstellen. Hat man einen privaten Schlüssel, kann man auch einen existierenden benutzen.
Code:
Hinweis: die Details sind irrelevant. Nur der öffentliche Schlüssel der im CSR mitgeschickt wird, wird auch von StartSSL benutzt. Sprich, man kann die Vorgaben von OpenSSL übernehmen. Die Daten aus der Validierung werden stattdessen benutzt. Ja, das schließt die folgenden Felder ein: E (Email), CN (Common Name, also euer Name), L (Location, also Stadt), S (State, also Bundesland) und C (Country, also Staat). Soweit ich es sehen kann ist die Telefonnummer und die exakte Adresse nicht enthalten, die man aber während der Validierung angeben muß.
openssl req -new -newkey rsa:4096 -keyout key.pem -out csr.pem
2.) Unter "Object Code Signing" im zweiten Tab im "Control Panel" bei StartSSL den Inhalt des CSR einfügen und abschicken (siehe Link oben). 3.) Am Ende dieses Schrittes bekommt man das von StartSSL signierte Zertifikat in einem Textfeld. Dieses Zertifikat speichert man nun in einer Datei, bspw.: cert.crt Bei Verisign (jetzt Symantec) war dies beim letzten Mal ein Download. Wenn ich mich recht entsinne, brauchte ich auch die Zwischenformate irgendwie nicht. Ist aber schon zwei Jahre her. Ich kann evtl. im Herbst nochmal schreiben wie das heute dort läuft. 4.) Nun benutzt man das Tool cert2spc.exe aus dem Windows SDK um das Zertifikat in eine SPC-Datei zu konvertieren:
Code:
5.) Nun benutzt man pvktool um den privaten Schlüssel in eine PVK-Datei zu konvertieren (neuere OpenSSL-Versionen sollen diese Funktionalität auch von Haus aus bieten, hab's aber nicht probiert). Um pvktool zu kompilieren mußte ich aber "-ldl" in der Make-Datei anfügen, damit die "Dynamic Loader" Bibliothek von Linux mit eingelinkt wird. Ansonsten gibt's Linkerfehler (zumindest zusammen mit dem aktuellsten OpenSSL 1.0.0d).
cert2spc.exe cert.crt cert.spc
Code:
6.) Jetzt benutzt man das Tool pvk2pfx.exe aus dem Windows SDK um die SPC und PVK zu einer PFX zusammenzuführen.
pvk -in key.pem -topvk -strong -out key.pvk
Code:
Hinweis: cert.pfx enthält jetzt die "Credentials" (also den privaten Schlüssel) und das Zertifikat. Ab hier kann man es genauso benutzen wie es in den vielen Tutorials beschrieben wird. Oder man nimmt die letzte Hürde.
pvk2pfx.exe -spc cert.spc -pvk key.pvk -pfx cert.pfx
7.) Man kann nun die PFX in den "Certificate Store" des Computers oder des aktuellen Benutzers importieren. Aktueller Benutzer:
Code:
Computer:
certutil -user -importPFX cert.pfx
Code:
So und ab hier kann man jetzt ganz bequem das installierte Zertifikat benutzen.
certutil -importPFX cert.pfx
Hat man es für den Computer installiert, benutzt man "/sm":
Code:
Hat man es für den aktuellen Benutzer installiert, läßt man es weg:
signtool.exe sign /v /a /sm /ph /d "..." /du "http://..." /tr http://www.startssl.com/timestamp my.exe
Code:
signtool.exe sign /v /a /ph /d "..." /du "http://..." /tr http://www.startssl.com/timestamp my.exe
Den Timestamp-Service sollte man immer jeweils vom Aussteller her benutzen. Rein prinzipiell könnte es auch gemischt gehen. Hinweis: man kann auch die Schritte bis zur Erstellung der PFX über StartSSL machen, dann muß man aber die Passphrase zu seinem privaten Schlüssel an die weitergeben. Benutzt man bspw. einen existierenden Schlüssel ist dies schlecht. Daher läßt man das lieber und benutzt den oben beschriebenen Weg, wenn man's sicher mag. |
AW: Code Signing - Grundsatzfragen
Unser Cert ist von Entrust, aber die sind eindeutig auf Großkunden spezialisiert. Da immer mindestens zwei verschiedene Personen bestätigen müssen (beide werden per Telefon gecheck), kann man da als Ein-Mann-Firma nicht mal eins kaufen :lol:
Comodo-Zertifikate kann man reduziert über Tucows kaufen, nachdem man sich dort als Autor registriert hat. Ich meine das wäre auch recht günstig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:34 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