{"id":1195,"date":"2016-01-08T16:23:09","date_gmt":"2016-01-08T15:23:09","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=1195"},"modified":"2016-02-27T12:06:47","modified_gmt":"2016-02-27T11:06:47","slug":"sha1-und-sha256-codesigning-mit-signtool-und-einem-timestamp","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2016\/01\/08\/sha1-und-sha256-codesigning-mit-signtool-und-einem-timestamp\/","title":{"rendered":"SHA1 und SHA256 Codesigning mit SIGNTOOL und einem Timestamp"},"content":{"rendered":"<p>Ihr seid vielleicht auch betroffen und nutzt bisher Code Signing f\u00fcr Eure Software oder MSI Pakete.<br \/>\nIch zumindest habe von <em>Symantec<\/em> (ehemals <em>Verisign<\/em>) f\u00fcr unsere Zertifikate zum Jahresende eine Email bekommen, die mir empfiehlt zuk\u00fcnftig sowohl <em>SHA1<\/em> als auch <em>SHA256<\/em> zu nutzen. Entsprechende Links wurden mitgeliefert. <a href=\"https:\/\/knowledge.symantec.com\/support\/code-signing-support\/index?page=content&amp;actp=CROSSLINK&amp;id=INFO2274\" target=\"_blank\">(1)<\/a> <a href=\"https:\/\/knowledge.symantec.com\/support\/code-signing-support\/index?page=content&amp;id=INFO3199&amp;actp=search&amp;viewlocale=en_US\" target=\"_blank\">(2)<\/a><a href=\"https:\/\/technet.microsoft.com\/en-us\/library\/security\/2949927\" target=\"_blank\">(3)<\/a><a href=\"https:\/\/support.microsoft.com\/en-us\/kb\/2763674\">(4)<\/a><\/p>\n<p>Ich habe also erstmal das bisherige Codesigning <em>SHA1<\/em> Zertifikat als <em>SHA256<\/em> Zertifikat neu ausgeben lassen. Das ganze war kostenlos \u00fcber die Symantec Seite m\u00f6glich und dauerte letzten Endes h\u00f6chstens 30 Minuten.<\/p>\n<p>Dann habe ich das neue Zertifikat im Produktionsserver installiert.<br \/>\nIn unserem Produktionsprozess ist das Codesigning integriert. Die entsprechenden Dateien liegen in einem Quellordner und werden von unserem Produktionserver verwendet um daraus unsere Installationspakete oder Hotfixes zu generieren. Dabei werden alle Dateien entsprechend automatisch signiert.<\/p>\n<p>Die entsprechende Code Passage in unserem Batch sah bisher so aus:<\/p>\n<pre lang=\"text\">&gt;signtool sign -sha1 FingerPint-SHA1-Zertifikat -fd sha1 -t http:\/\/timestamp.verisign.com\/scripts\/timstamp.dll myexe.exe<\/pre>\n<p>Da dachte ich: OK Ganz einfach, also nur eine zweite Zeile mit dem Parameter <strong><em>-as<\/em><\/strong> hinzuf\u00fcgen und das neue Zertifikat angeben.<br \/>\nAber Pustekuchen:<\/p>\n<pre lang=\"text\">&gt;signtool sign -as -sha1 FingerPint-SHA256-Zertifikat -fd 256\u00a0-t http:\/\/timestamp.verisign.com\/scripts\/timstamp.dll myexe.exe\r\nDone Adding Additional Store\r\nSignTool Error: SignedCode::Sign returned error: 0x80070057\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Falscher Parameter.\r\nSignTool Error: An error occurred while attempting to sign: AGVIP.exe<\/pre>\n<p>\ud83d\ude41 Nach einigem hin und her probieren und Lesen einiger Artikel, musste ich feststellen, dass die Ursache einzig und alleine in dem angegebenen Timestamp Server liegt. Der Verisign Timestamp Server mag einfach keine SHA256 Zertifikate f\u00fcr das Gegenzeichnen.<\/p>\n<p>Die L\u00f6sung war\u00a0also einfach. Ich habe einen anderen Timestamp Server benutzt und nun sehen die Befehlszeilen einfach so aus.<\/p>\n<pre lang=\"text\">&gt;signtool sign\u00a0\u00a0\u00a0\u00a0 -sha1 FingerPint-SHA1-Zertifikat   -fd sha1\u00a0\u00a0 -tr http:\/\/timestamp.geotrust.com -td sha1   myexe.exe\r\n&gt;signtool sign -as -sha1 FingerPint-SHA256-Zertifikat -fd sha256 -tr http:\/\/timestamp.geotrust.com -td sha256 myexe.exe<\/pre>\n<p>Und siehe da \ud83d\ude42\u00a0alles funktioniert bestens und meine Programme haben nun 2 Zertifikate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ihr seid vielleicht auch betroffen und nutzt bisher Code Signing f\u00fcr Eure Software oder MSI Pakete. Ich zumindest habe von Symantec (ehemals Verisign) f\u00fcr unsere Zertifikate zum Jahresende eine Email bekommen, die mir empfiehlt zuk\u00fcnftig sowohl SHA1 als auch SHA256 zu nutzen. Entsprechende Links wurden mitgeliefert. (1) (2)(3)(4) Ich habe also erstmal das bisherige Codesigning &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2016\/01\/08\/sha1-und-sha256-codesigning-mit-signtool-und-einem-timestamp\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eSHA1 und SHA256 Codesigning mit SIGNTOOL und einem Timestamp\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[13,3,12,9],"tags":[383,136,149,384,382],"class_list":["post-1195","post","type-post","status-publish","format-standard","hentry","category-installation","category-programmieren","category-software","category-sonstiges","tag-auslieferung","tag-qualitaetssicherung","tag-setup","tag-signaturen","tag-zertifikate"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=1195"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1195\/revisions"}],"predecessor-version":[{"id":1196,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/1195\/revisions\/1196"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=1195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=1195"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=1195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}