{"id":14,"date":"2007-01-09T14:37:31","date_gmt":"2007-01-09T13:37:31","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/09\/signcode-ausfuhren-ohne-kennworteingabe\/"},"modified":"2007-01-09T14:45:31","modified_gmt":"2007-01-09T13:45:31","slug":"signcode-ausfuhren-ohne-kennworteingabe","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/09\/signcode-ausfuhren-ohne-kennworteingabe\/","title":{"rendered":"SIGNCODE ausf\u00fchren ohne Kennworteingabe"},"content":{"rendered":"<p>Da unsere Programm demn\u00e4chst auch f\u00fcr Vista zertifiziert werden sollen, m\u00fcssen alle unsere Executables nun digital signiert werden.<\/p>\n<p>Soweit OK. Nur bei normaler Verwendung von SIGNCODE wird immer ein Kennwort f\u00fcr das Zertifikat abgefragt. Etwas l\u00e4stig, wenn man automatische Build Prozesse hat, die hunderte von Dateien signieren m\u00fcssen. Da es keinen Befehlszeilenschalter f\u00fcr das Kennwort gibt dachte ich schon ein spezielles Programm schreiben zu m\u00fcssen, was den Dialog entsprechend ausf\u00fcllt. Aber Google sei Dank!<\/p>\n<p>Eine erste m\u00fchsame Suche brachte mich auf diesen Beitrag von <a href=\"http:\/\/tech.groups.yahoo.com\/group\/win_tech_off_topic\/message\/21343\" target=\"_blank\">Rob MacFadyen<\/a>. Zusammengefasst steht dort: Zertifikat importieren und aus dem eigenen Zertifikats Speicher signieren ohne l\u00e4stige Kennwortabfrage.<\/p>\n<p>Zum Importieren wird dort das Tool\u00a0<em>KEYIMPRT.EXE<\/em> angegeben, und das ist nun beim Besten Willen auf den MS Seiten (auch unter dem entsprechenden <a href=\"http:\/\/msdn.microsoft.com\/vba\/technical\/pvk.asp\" target=\"_blank\">Link<\/a>) nicht mehr zu finden.<\/p>\n<p>Nach einigen Suchen bin ich darauf gesto\u00dfen, dass dieses Tool durch <em>PVKIMPRT.EXE<\/em> ersetzt wurde, und dieses bei MS <a href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyID=F9992C94-B129-46BC-B240-414BDFF679A7&#038;displaylang=EN\" target=\"_blank\">hier<\/a> heruntergeladen werden kann.<\/p>\n<p>Nun der Rest geht wie gehabt, einfach<br \/>\n<strong><em>signcode.exe -s my -cn &#8222;Dein_Zertifikat_CN&#8220; -t http:\/\/timestamp.verisign.com\/scripts\/timstamp.dll &#8222;Deine_zu_signierende.EXE&#8220;<\/em><br \/>\n<\/strong>ausf\u00fchren und das war es schon!<\/p>\n<p>Keine l\u00e4stige Kennwortabfrage mehr und schon steht dem automatischen\u00a0signieren nichts mehr im Wege.<\/p>\n<p><strong><em>Achtung<\/em><\/strong>: Das Importieren in den internen Zertifikats-Speicher sch\u00fctzt nicht vor Zertifikats-Diebstahl! Der Zugang zu diesen Zertifikaten sollte also schon so gesch\u00fctzt und eingeschr\u00e4nkt wie m\u00f6glich erfolgen.\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da unsere Programm demn\u00e4chst auch f\u00fcr Vista zertifiziert werden sollen, m\u00fcssen alle unsere Executables nun digital signiert werden. Soweit OK. Nur bei normaler Verwendung von SIGNCODE wird immer ein Kennwort f\u00fcr das Zertifikat abgefragt. Etwas l\u00e4stig, wenn man automatische Build Prozesse hat, die hunderte von Dateien signieren m\u00fcssen. Da es keinen Befehlszeilenschalter f\u00fcr das Kennwort &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/09\/signcode-ausfuhren-ohne-kennworteingabe\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eSIGNCODE ausf\u00fchren ohne Kennworteingabe\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":[3,9],"tags":[148],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-sonstiges","tag-zertifikat"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/14","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=14"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}