{"id":40972,"date":"2023-10-30T14:23:04","date_gmt":"2023-10-30T18:23:04","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=40972"},"modified":"2023-10-30T14:23:04","modified_gmt":"2023-10-30T18:23:04","slug":"code-signing-woes","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2023\/10\/30\/code-signing-woes\/","title":{"rendered":"Code Signing Woes"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/ImageMagick\/ImageMagick\/discussions\/6826\">Dirk Lemstra<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=38055816\">Hacker News<\/a>, <a href=\"https:\/\/twitter.com\/MagickNET\/status\/1718310413773717688\">tweet<\/a>):<\/p>\n<blockquote cite=\"https:\/\/github.com\/ImageMagick\/ImageMagick\/discussions\/6826\"><p>Today [ImageMagick&rsquo;s Windows] code signing certificate will expire. For many years <a href=\"https:\/\/www.leaderssl.nl\/\">LeaderSSL<\/a> sponsored us with a code singing certificate but they are no longer able to do so. Since June of 2023 the CA\/B Forum requires that OV code signing private keys be stored on a FIPS 140-2 Level 2 or Common Criteria Level EAL4+ certified device. This means we are no longer able to export our code signing certificate with its private key and use this in GitHub actions. We would now either need to have our own GitHub agent and hardware token or use a cloud solution (e.g. <a href=\"https:\/\/docs.digicert.com\/en\/software-trust-manager\/ci-cd-integrations\/plugins\/github-custom-action-for-keypair-signing.html\">digicert<\/a>). Our preference would be to use a cloud solution that integrates with GitHub. Digicert seems to be our only option now but a certificate there would cost <a href=\"https:\/\/order.digicert.com\/step1\/code_signing\">$629<\/a> (tax excluded) for a single year.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/awakecoding\/status\/1718323915804553649\">Marc-Andr&eacute; Moreau<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/awakecoding\/status\/1718323915804553649\"><p>Windows code signing has one big problem: it&rsquo;s too expensive &#x1FAF0; and difficult to deal with for most open source projects, where it&rsquo;s often coming out of someone&rsquo;s personal money, not from a business that can well afford it<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/gerardo_gr\/status\/1718957587863904645\">Gerardo Grignoli<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/gerardo_gr\/status\/1718957587863904645\">\n<p>TIL that Code Signing policies had changed for the worst. Signing is now more expensive, requires a physical device and no longer can be a automated step on build agents such as GitHub Actions. &#x1F635;&#x200D;&#x1F4AB;<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/awakecoding\/status\/1718958366729347262\">Marc-Andr&eacute; Moreau<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/awakecoding\/status\/1718958366729347262\">\n<p>Code signing now requires the private key to be stored in an HSM, but you can use Azure Key Vault for that, after which you can switch to AzureSignTool or one of the many alternatives that can call Azure Key Vault during the signing operations.<\/p>\n<\/blockquote>\n\n<p>It sounds like code signing on Windows is even worse than on the Mac. We &ldquo;only&rdquo; have to pay $99\/year, but then some percentage of our customers are scared away by spurious &ldquo;&lsquo;App&rsquo; is damaged and can&rsquo;t be opened. You should move it to the Trash.&rdquo; errors.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/12\/14\/damaged-apps-that-cant-be-opened\/\">&ldquo;Damaged&rdquo; Apps That Can&rsquo;t Be Opened<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Dirk Lemstra (via Hacker News, tweet): Today [ImageMagick&rsquo;s Windows] code signing certificate will expire. For many years LeaderSSL sponsored us with a code singing certificate but they are no longer able to do so. Since June of 2023 the CA\/B Forum requires that OV code signing private keys be stored on a FIPS 140-2 Level [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2023-10-30T18:23:07Z","apple_news_api_id":"d1482876-b1d1-45ce-a145-18325eee364c","apple_news_api_modified_at":"2023-10-30T18:23:07Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/A0UgodrHRRc6hRRgyXu42TA","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[101,466,465,2487,2488,30,2385,856,991,71,219,2099],"class_list":["post-40972","post","type-post","status-publish","format-standard","hentry","category-technology","tag-business","tag-codesigning","tag-gatekeeper","tag-github-actions","tag-imagemagick","tag-mac","tag-macos-14-sonoma","tag-microsoft-azure","tag-open-source-software","tag-programming","tag-windows","tag-windows-11"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=40972"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40972\/revisions"}],"predecessor-version":[{"id":40973,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/40972\/revisions\/40973"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=40972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=40972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=40972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}