Discussion:
Verifizieren des Herausgebers
(zu alt für eine Antwort)
Ulrich Begemann
2008-01-29 08:57:57 UTC
Permalink
Sicherlich schonmal hier behandelt, finds aber nciht: Ich kanns zwar nicht
glauben, aber einige Kunden haben Rechner, die der von mir erstellten
Software nicht vertrauen ("Der Herausgeber konnte nicht verifiziert
werden..). Man kann man tun, um eine gültige digitale Signatur einzufügen,
die nicht für teuer Geld bei einem Trustcenter gekauft werden muß.... un d
selbst wenn: Wie macht man das?

Gruß

UlBe
Stefan Koschke
2008-01-29 09:14:07 UTC
Permalink
Hallo Ulrich,
Post by Ulrich Begemann
Sicherlich schonmal hier behandelt, finds aber nciht: Ich kanns zwar nicht
glauben, aber einige Kunden haben Rechner, die der von mir erstellten
Software nicht vertrauen ("Der Herausgeber konnte nicht verifiziert
werden..). Man kann man tun, um eine gültige digitale Signatur einzufügen,
die nicht für teuer Geld bei einem Trustcenter gekauft werden muß.... un d
selbst wenn: Wie macht man das?
nur so in's Blaue geschossen:
Kann es sein, daß da einfach in den Projekteinstellungen nichts eingetragen
ist?
Ich habe (hatte) noch nie digitale Signaturen, aber selbst unter Vista kann
ich mich nicht erinnern daß da so eine Meldung hochgekommen wäre!

Ciao
Stefan
Robert W. Kuhn
2008-01-29 09:29:19 UTC
Permalink
Post by Stefan Koschke
Post by Ulrich Begemann
Sicherlich schonmal hier behandelt, finds aber nciht: Ich kanns zwar nicht
glauben, aber einige Kunden haben Rechner, die der von mir erstellten
Software nicht vertrauen ("Der Herausgeber konnte nicht verifiziert
werden..). Man kann man tun, um eine gültige digitale Signatur einzufügen,
die nicht für teuer Geld bei einem Trustcenter gekauft werden muß.... un d
selbst wenn: Wie macht man das?
Kann es sein, daß da einfach in den Projekteinstellungen nichts eingetragen
ist?
Ich habe (hatte) noch nie digitale Signaturen, aber selbst unter Vista kann
ich mich nicht erinnern daß da so eine Meldung hochgekommen wäre!
Noch nie von einem Netzlaufwerk gestartet?

Tschau - Robert
--
vertrau
voraus voraus
Stefan Koschke
2008-01-29 10:49:06 UTC
Permalink
Hallo Robert,
Post by Robert W. Kuhn
Noch nie von einem Netzlaufwerk gestartet?
nein ;-)

Ciao
Stefan
Arno Garrels
2008-01-29 15:02:44 UTC
Permalink
Post by Ulrich Begemann
Man kann man tun, um eine gültige digitale
Signatur einzufügen, die nicht für teuer Geld bei einem Trustcenter
gekauft werden muß.... un d selbst wenn: Wie macht man das?
Z.B. SignTool.exe von Microsoft zum Signieren der EXE benutzen, ist
glaube ich, im Platform SDK enthalten.

Wenn Du nix ausgeben willst, gibt's die Möglichkeit, mit OpenSSL.exe
eine kleine Root CA zu bauen. Das selbstsignierte Stammzertifikat
signiert dann dein eigenes Codesigning-Zertifikat. Bleibt nur noch das
Problem, dass das Stammzertifikat in den Speicher für vertraute
Stammzertifikate des Zielrechners gelangen muss. Einmal da drin, ist es so
gut wie jedes andere auch. Ich lasse InnoSetup das Stammzertifikat in die
Registry schreiben (Admin-Rechte), das ist ein schlichter Binär-Schlüssel
mit einem GUID-Namen, das Zertifikat (Wert "Blob") muss hex-kodiert im
CER-Format geschrieben werden.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Root\Certificates\

Ob dieser Aufwand lohnt, ist eine andere Frage, mittlerweile sind kommerzelle
Codesigning Certificates schon sehr preiswert zu bekommen.
Allerdings sind nur einige wenige Stammzertifikate nach der Installation von
Windows vorhanden, die von Verisign und Thawte sind darunter, alle anderen
werden 'on demand' einmal von einem M$-Server geholt, wenn der entsprechende
Dienst läuft und eine Internetverbindung besteht! Deshalb wäre Thawte meine erste
Wahl.

--
Arno Garrels
Matthias Hanft
2008-01-29 16:15:51 UTC
Permalink
Post by Arno Garrels
Ich lasse InnoSetup das Stammzertifikat in die
Registry schreiben (Admin-Rechte), das ist ein schlichter Binär-Schlüssel
mit einem GUID-Namen, das Zertifikat (Wert "Blob") muss hex-kodiert im
CER-Format geschrieben werden.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Root\Certificates\
Da gibt's bestimmt irgendeine API dafür - normalerweise ist das doch
ein "NoNo", irgendwas direkt in die Registry zu schreiben?!
Post by Arno Garrels
Ob dieser Aufwand lohnt, ist eine andere Frage, mittlerweile sind kommerzelle
Codesigning Certificates schon sehr preiswert zu bekommen.
Allerdings sind nur einige wenige Stammzertifikate nach der Installation von
Windows vorhanden, die von Verisign und Thawte sind darunter, alle anderen
werden 'on demand' einmal von einem M$-Server geholt, wenn der entsprechende
Dienst läuft und eine Internetverbindung besteht! Deshalb wäre Thawte meine erste
Wahl.
Naja, 299 US$ für ein Jahr find' ich auch nicht grad besonders
preiswert - klar, im Vergleich zu Verisign's 499 US$ ist das ein
deutlicher Fortschritt :-) Trustcenter hat jetzt auch welche,
319 EUR pro Jahr.

Aber insgesamt müßte sich das endlich mal auf dem Level von SSL-
Server-Zertifikaten einpendeln, finde ich, sonst setzt sich das
nie richtig durch.

Gruß Matthias.
Holger Lembke
2008-01-29 16:29:49 UTC
Permalink
Post by Matthias Hanft
Aber insgesamt müßte sich das endlich mal auf dem Level von SSL-
Server-Zertifikaten einpendeln, finde ich, sonst setzt sich das
nie richtig durch.
Wie soll es, wenn Kunden Selbstverifizierungen tatsächlich akzeptieren? Wer
ein nichtge-rootetes Cert akzeptiert, kann es auch gleich lassen...
--
mit freundlichen Grüßen! Password Must Be at Least 18770 Characters
Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords
Matthias Hanft
2008-01-29 18:17:12 UTC
Permalink
Post by Holger Lembke
Wie soll es, wenn Kunden Selbstverifizierungen tatsächlich akzeptieren? Wer
ein nichtge-rootetes Cert akzeptiert, kann es auch gleich lassen...
Warum? Man muß ja nur die Hashes von self-signed Zertifikaten auf einem
sicheren Weg übertragen. Ich könnte die meinen Kunden in einem Brief
schicken, am Telefon durchgeben - oder eben auf einer SSL-gerooteten
Website anzeigen. Oder nicht? Wenn nicht, warum nicht?

Gruß Matthias.
Holger Lembke
2008-01-29 18:25:53 UTC
Permalink
Post by Matthias Hanft
Warum? Man muß ja nur die Hashes von self-signed Zertifikaten auf einem
sicheren Weg übertragen. Ich könnte die meinen Kunden in einem Brief
schicken, am Telefon durchgeben - oder eben auf einer SSL-gerooteten
Website anzeigen. Oder nicht? Wenn nicht, warum nicht?
Wenn du das denn tust, dann ist das ja gut. Las' mich wetten, dass die
Mehrheit die Zertifikate mit in das Download-Paket legt...

Die Billigzertifikate (zumindest den einen Link, den ich angeklickt habe),
bei denen keine vernünftige Verifizierung des Käufers stattfindet (und
Kreditkartendaten sind nun mal nicht vertrauenswürdig), sind auch nicht
wirklich sinnvoll. Da kann man auch gleich eigene Roots mitliefern.

Glücklicherdings ist beim Anwender die Sicherheitskompetenz gering. :-)
--
mit freundlichen Grüßen! Password Must Be at Least 18770 Characters
Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords
Matthias Hanft
2008-01-29 19:22:16 UTC
Permalink
Post by Holger Lembke
Die Billigzertifikate (zumindest den einen Link, den ich angeklickt habe),
bei denen keine vernünftige Verifizierung des Käufers stattfindet (und
Kreditkartendaten sind nun mal nicht vertrauenswürdig), sind auch nicht
wirklich sinnvoll. Da kann man auch gleich eigene Roots mitliefern.
Die müßte der Anwender aber erst installieren: "Was isn das? Weiß nich.
Wie gehtn das? Weiß nich. Is doch eh egal, klick einfach auf Ok."

Dagegen, wenn ich mit einem Billigzertifikat signiere (das von diesem
"ksoftware" erwäge ich ernsthaft mal auszuprobieren), erscheint immerhin
nicht mehr "Unbekannter Herausgeber", sondern "Matthias Hanft". Ob das
Zertifikat dazu billig oder teuer war und wie es geprüft wurde, interes-
siert $BUSINESS_USER dabei nicht im geringsten. Hauptsache, die Root ist
in Windows drin.

Ist mit SSL doch genauso. Hauptsache, das Schloßsymbol im Browser ist zu.
Warum, wieso - ist doch egal. Warum soll ich dafür mehr Geld ausgeben als
nötig? Nur damit der ehrenwerte Name "Verisign" erscheint, wenn der User
die Maus über das Schloßsymbol bewegt? Das ists mir wirklich nicht wert.

Gruß Matthias.
Holger Lembke
2008-01-29 20:04:40 UTC
Permalink
Post by Matthias Hanft
Dagegen, wenn ich mit einem Billigzertifikat signiere (das von diesem
"ksoftware" erwäge ich ernsthaft mal auszuprobieren), erscheint immerhin
nicht mehr "Unbekannter Herausgeber", sondern "Matthias Hanft". Ob das
Zertifikat dazu billig oder teuer war und wie es geprüft wurde, interes-
siert $BUSINESS_USER dabei nicht im geringsten.
Interessiert den denn, ob da "Unbekannter Herausgeber" oder "Matthias
Hanft" steht? Wohl auch nicht, wenn ihm der Rest schon so egal ist.
--
mit freundlichen Grüßen! Password Must Be at Least 18770 Characters
Holgi, +49-531-3497854 ! Can't Repeat Any of Your Previous 30689 Passwords
Matthias Hanft
2008-01-29 20:46:39 UTC
Permalink
Post by Holger Lembke
Interessiert den denn, ob da "Unbekannter Herausgeber" oder "Matthias
Hanft" steht? Wohl auch nicht, wenn ihm der Rest schon so egal ist.
Tja, gute Frage. Der Kunde, das unbekannte Wesen :-)

Sagen wir mal so: Der optische Effekt, sei er nun nützlich oder nicht,
wäre mir zwar keine $499, aber durchaus $85 pro Jahr wert :-)

Gruß Matthias.
Robert Wachtel
2008-01-29 22:19:06 UTC
Permalink
Moin!
Post by Matthias Hanft
Sagen wir mal so: Der optische Effekt, sei er nun nützlich oder nicht,
wäre mir zwar keine $499, aber durchaus $85 pro Jahr wert :-)
$75

scnr ;)

Robert
--
http://blog.robertsoft.de
Matthias Hanft
2008-01-30 12:58:43 UTC
Permalink
Post by Robert Wachtel
$75
Bei http://authors.tucows.com
Diese Seite gibt es nicht.
Post by Robert Wachtel
scnr ;)
Ebenso ;)

Gruß Matthias.

PS: Ja, StringReplace('authors', 'www', [rfReplaceAll]) funktioniert :-)
Robert Wachtel
2008-01-30 13:08:35 UTC
Permalink
Moin!
Post by Matthias Hanft
Post by Robert Wachtel
Bei http://authors.tucows.com
Diese Seite gibt es nicht.
Ups, sorry, da hat sich ein 's' zuviel reingeschlichen:

http://author.tucows.com

hth

Robert
--
http://blog.robertsoft.de
Arno Garrels
2008-01-29 18:31:54 UTC
Permalink
Post by Holger Lembke
Post by Matthias Hanft
Aber insgesamt müßte sich das endlich mal auf dem Level von SSL-
Server-Zertifikaten einpendeln, finde ich, sonst setzt sich das
nie richtig durch.
Wie soll es, wenn Kunden Selbstverifizierungen tatsächlich
akzeptieren? Wer ein nichtge-rootetes Cert akzeptiert, kann es auch
gleich lassen...
Jedes Root-Zertifikat ist selbst signiert ;-) Nur dass M$ quasi das
Monopol besitzt zu bestimmen, welches der Root Certs genehm ist, im
Pool der genehmen Root CAs von M$ zu sein enspricht ungefährt dem
Status einer Notenbank, nämlich die Lizenz zum Gelddrucken ;-)
Wie anfällig das System der Vertrauenskette ist, beweist ein Blick
in den Speicher der *nicht* vertrauten Zertifikate. Da finden sich
in XP UP zwei von Verisign herausgegebene Zertifikate mit dem
Antragsteller Microsoft ;-) Hacker hatten die "sichere" Identitätsprüfung
durch Verisign überlistet.

--
Arno Garrels
Arno Garrels
2008-01-29 16:59:12 UTC
Permalink
Post by Matthias Hanft
Da gibt's bestimmt irgendeine API dafür -
Die gibt's, aber dann kommen da so komische Warnungen ;-) Auch hatte
ich damals nicht herausgefunden, wie man ein Zertifikat per API genau
an diese Stelle bekommt.
Post by Matthias Hanft
normalerweise ist das doch
ein "NoNo", irgendwas direkt in die Registry zu schreiben?!
Normalerweise ja, ich hab's aber getestet von NT 4.0 SP6 bis Vista RTM.
Post by Matthias Hanft
Naja, 299 US$ für ein Jahr find' ich auch nicht grad besonders
preiswert - klar, im Vergleich zu Verisign's 499 US$ ist das ein
deutlicher Fortschritt :-) Trustcenter hat jetzt auch welche,
319 EUR pro Jahr.
Hier wurde schon von Preisen um die 60 EUR berichtet.
Hab 1 Minute gegoogelt z.B.:
1 Jahr $85.00 USD bei einem Reseller von Comodo.
http://www.ksoftware.net/code_signing.html

--
Arno Garrels
Matthias Hanft
2008-01-29 18:19:47 UTC
Permalink
Post by Arno Garrels
Hier wurde schon von Preisen um die 60 EUR berichtet.
1 Jahr $85.00 USD bei einem Reseller von Comodo.
http://www.ksoftware.net/code_signing.html
Oh, das bewegt sich ja in der Tat langsam schon in erträglichen
Regionen :-)

Mein vorletztes SSL-Zertifikat, das ich von meinem Provider ge-
kriegt habe, war auch von Comodo - ich kann ihn ja mal fragen,
ob er da immer noch einkauft... bzw. er kaufts glaub ich bei
http://www.unitedssl.com/ aber die haben anscheinend nur SSL-
Zertifikate, keine Codesigning...

Gruß Matthias.
Robert Wachtel
2008-01-29 17:06:48 UTC
Permalink
Moin!
Post by Matthias Hanft
Naja, 299 US$ für ein Jahr find' ich auch nicht grad besonders
preiswert - klar, im Vergleich zu Verisign's 499 US$ ist das ein
deutlicher Fortschritt :-) Trustcenter hat jetzt auch welche,
319 EUR pro Jahr.
Bei http://authors.tucows.com (einfach als Author registrieren) gibt es Code Signing Zertifikate von Comodo für 75 US$ pro Jahr und welche von Thawte für 160 US$ (bei mehrjähriger Laufzeit wird es jeweils günstiger). Das finde ich besonders bei den derzeitigen Wechselkursen durchaus schon interessant.

Und hier gibt es ein nettes How-To: http://www.tech-pro.net/code-signing-for-developers.html

hth

Robert
--
http://blog.robertsoft.de
Matthias Hanft
2008-01-29 15:05:25 UTC
Permalink
Post by Ulrich Begemann
Sicherlich schonmal hier behandelt, finds aber nciht: Ich kanns zwar nicht
glauben, aber einige Kunden haben Rechner, die der von mir erstellten
Software nicht vertrauen ("Der Herausgeber konnte nicht verifiziert
werden..). Man kann man tun, um eine gültige digitale Signatur einzufügen,
die nicht für teuer Geld bei einem Trustcenter gekauft werden muß.... un d
selbst wenn: Wie macht man das?
Wenn die Signatur "einfach so" gültig sein soll, _mußt_ Du sie für
teures Geld bei einem Trustcenter einkaufen, da bleibt Dir nix anderes
übrig.

Weil mir das für meine Delphi-Programme auch zu teuer ist, versehe ich
meine Programme mit einem "self-signed" Zertifikat, das aber standard-
mäßig auch einen "unbekannten Herausgeber" anzeigt. Damit da "ich" drin-
stehe, müssen meine Kunden ("einmal im Leben") dieses Zertifikat in
ihrem Windows installieren. Dazu habe ich das Zertifikat auf meiner
Website https://www.hanft.de/cert.htm veröffentlicht (die wiederum
mit einem Trustcenter-SSL-Zertifikat versehen ist, das im Gegensatz
zu einem Codesigning-Zertifikat noch bezahlbar ist), auf der außer-
dem die MD5- und SHA1-Hashes des Codesigning-Zertifikats vermerkt sind.

Dann erscheint "möchten Sie Matthias Hanft vertrauen" usw. usf.

Zum Einbauen des Zertifikats in meine Delphi-EXE habe ich irgendwo
im MSDN das Paket "codesigningx86.exe" runtergeladen, da ist "signcode.exe"
drin zum "Signatur-in-EXE-einbauen".

Das Zertifikat selbst habe ich mit "CertDemo" aus einer Delphi-SSL-
Bibliothek der Firma EldoS erzeugt; im o.a. Microsoft-Paket ist aber
auch "makecert.exe" (und andere nützliche Dinge) drin.

Ist halt ein Notbehelf - aber besser als nix, wenn man nicht Hunderte
von Dollars pro Jahr bezahlen will...

Gruß Matthias.
Ulrich Begemann
2008-02-02 11:43:40 UTC
Permalink
Danke für die Diskussion! Ich habe selbst schon mal in einem anderen großen
Projekt mit Trustcentern zusammengeabrbeitet und sehe durchaus den Sinn
solcher Zertifikate ein. Aber, wie geschrieben, Microsoft ist da mit der
Installation nicht gerade (Entwickler)-Kundenfreundlich. Und 300-400 $ PRO
JAHR für ein solches Zertifikat auszugeben sehe ich auch nicht ein. Ich
denke nicht, daß es unzumutbar für den Kunden ist, einmal mein Zertifikat zu
installieren, das er z.B. auf Diskette oder so separat geliefert bekommt.
Dein Weg ist durchaus akzeptabel und werde mich mal in diese Richtung
bewegen. Allerdings sind 80$ für ein "richtiges" Zertifikat ja auch langsam
im Rahmen des Erträglichen.

Danke nochmal für die Tips!

Gruß

UlBe

Loading...