{"id":88063,"date":"2023-06-05T13:10:21","date_gmt":"2023-06-05T17:10:21","guid":{"rendered":"https:\/\/jumpcloud.com\/?post_type=support&p=88063"},"modified":"2023-06-05T13:10:21","modified_gmt":"2023-06-05T17:10:21","slug":"sign-software-packages-for-mdm-delivery","status":"publish","type":"support","link":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery","title":{"rendered":"Sign Software Packages for MDM Delivery"},"content":{"rendered":"\n

Apple requires packages that are delivered via Mobile Device Manager (MDM) are signed for package integrity. It is not enough to just check the file size hash to ensure that the whole package arrived. The package needs to have been cryptographically signed to ensure it’s a valid package. This doesn’t require that Apple review its contents, only that a certificate from their valid certificate authority has handled that signing process.<\/p>\n\n\n\n

Prerequisites<\/strong>:<\/p>\n\n\n\n

You will need an [Apple Developer] (https:\/\/developer.apple.com<\/a>) Account. If you do not have one, you will need a paid account with Apple (https:\/\/developer.apple.com\/support\/compare-memberships\/<\/a>) to generate the necessary code-signing certificates required for signing packages. The cost is $99 USD per year.<\/p>\n\n\n\n

Requirements:<\/strong><\/p>\n\n\n\n

    \n
  1. Developer Identifier – This is a ten digit alphanumeric identifier associated with your Developer Account.<\/li>\n\n\n\n
  2. Signing Certificate – This certificate is created using Apple’s Xcode tool. Apple has detailed instructions on creating these certificate identities in their Xcode documentation (https:\/\/help.apple.com\/xcode\/mac\/current\/#\/dev154b28f09<\/a>).<\/li>\n<\/ol>\n\n\n\n

    <\/p><\/div>

    Important:<\/strong> \n

    Xcode is required for this process.<\/p>\n <\/div><\/div><\/div><\/div>\n\n\n\n

    Signing Software Packages for MDM delivery<\/strong><\/p>\n\n\n\n

    Once the signing certificate is created, as outlined above, it will be visible in the Keychain Access utility located in\u00a0`\/Applications\/Utilities`.\u00a0The certificate name starts with Developer ID Installer:<\/kbd> and is followed by your company name and the ten digit alphanumeric identifier.<\/p>\n\n\n\n

    With the Developer Account and the created Signing Identity you are now ready to sign the package using the productsign<\/kbd> command. (In the example below we will use the company name ‘PretendCo Inc.’ and the alphanumeric identifier ‘ABC123DEF4’.)<\/p>\n\n\n\n

    \n

    productsign –sign “Developer ID Installer: PretendCo Inc. (ABC123DEF4)” \/path\/to\/my\/unsigned.pkg \/path\/to\/my\/signed.pkg<\/p>\n<\/div><\/div>\n\n\n\n

    <\/p><\/div>

    Tip:<\/strong> \n

    If you want to check that a package is signed properly, you can open the package with Apple’s Installer app, then click on the lock icon in the upper right hand corner. That will then show you the certificate authority chain for that package. It should resolve to the Apple Root CA<\/p>\n <\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"

    Apple requires packages that are delivered via Mobile Device Manager (MDM) are signed for package integrity. It is not enough […]<\/p>\n","protected":false},"author":218,"featured_media":0,"template":"","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","inline_featured_image":false,"footnotes":""},"support_category":[2925,2852],"support_tag":[],"coauthors":[3011],"acf":[],"yoast_head":"\nSign Software Packages for MDM Delivery - 黑料海角91入口<\/title>\n<meta name=\"description\" content=\"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sign Software Packages for MDM Delivery\" \/>\n<meta property=\"og:description\" content=\"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery\" \/>\n<meta property=\"og:site_name\" content=\"黑料海角91入口\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jumpcloud.com\/wp-content\/uploads\/2024\/07\/202405-MISC-黑料海角91入口HelpCenter-SiteDisplay-min-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"890\" \/>\n\t<meta property=\"og:image:height\" content=\"525\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data2\" content=\"nickconrad\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery\",\"url\":\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery\",\"name\":\"Sign Software Packages for MDM Delivery - 黑料海角91入口\",\"isPartOf\":{\"@id\":\"https:\/\/jumpcloud.com\/#website\"},\"datePublished\":\"2023-06-05T17:10:21+00:00\",\"dateModified\":\"2023-06-05T17:10:21+00:00\",\"description\":\"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.\",\"breadcrumb\":{\"@id\":\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jumpcloud.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Support\",\"item\":\"https:\/\/jumpcloud.com\/support\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sign Software Packages for MDM Delivery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jumpcloud.com\/#website\",\"url\":\"https:\/\/jumpcloud.com\/\",\"name\":\"黑料海角91入口\",\"description\":\"Daily insights on directory services, IAM, LDAP, identity security, SSO, system management (Mac, Windows, Linux), networking, and the cloud.\",\"publisher\":{\"@id\":\"https:\/\/jumpcloud.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jumpcloud.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jumpcloud.com\/#organization\",\"name\":\"黑料海角91入口\",\"url\":\"https:\/\/jumpcloud.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jumpcloud.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jumpcloud.com\/wp-content\/uploads\/2021\/01\/jc-logo-brand-2021.png\",\"contentUrl\":\"https:\/\/jumpcloud.com\/wp-content\/uploads\/2021\/01\/jc-logo-brand-2021.png\",\"width\":598,\"height\":101,\"caption\":\"黑料海角91入口\"},\"image\":{\"@id\":\"https:\/\/jumpcloud.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sign Software Packages for MDM Delivery - 黑料海角91入口","description":"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery","og_locale":"en_US","og_type":"article","og_title":"Sign Software Packages for MDM Delivery","og_description":"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.","og_url":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery","og_site_name":"黑料海角91入口","og_image":[{"width":890,"height":525,"url":"https:\/\/jumpcloud.com\/wp-content\/uploads\/2024\/07\/202405-MISC-黑料海角91入口HelpCenter-SiteDisplay-min-2.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes","Written by":"nickconrad"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery","url":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery","name":"Sign Software Packages for MDM Delivery - 黑料海角91入口","isPartOf":{"@id":"https:\/\/jumpcloud.com\/#website"},"datePublished":"2023-06-05T17:10:21+00:00","dateModified":"2023-06-05T17:10:21+00:00","description":"Learn how to use Apple Developer tools to sign software packages, as required by Apple to deliver them with MDM.","breadcrumb":{"@id":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jumpcloud.com\/support\/sign-software-packages-for-mdm-delivery#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jumpcloud.com\/"},{"@type":"ListItem","position":2,"name":"Support","item":"https:\/\/jumpcloud.com\/support"},{"@type":"ListItem","position":3,"name":"Sign Software Packages for MDM Delivery"}]},{"@type":"WebSite","@id":"https:\/\/jumpcloud.com\/#website","url":"https:\/\/jumpcloud.com\/","name":"黑料海角91入口","description":"Daily insights on directory services, IAM, LDAP, identity security, SSO, system management (Mac, Windows, Linux), networking, and the cloud.","publisher":{"@id":"https:\/\/jumpcloud.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jumpcloud.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jumpcloud.com\/#organization","name":"黑料海角91入口","url":"https:\/\/jumpcloud.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jumpcloud.com\/#\/schema\/logo\/image\/","url":"https:\/\/jumpcloud.com\/wp-content\/uploads\/2021\/01\/jc-logo-brand-2021.png","contentUrl":"https:\/\/jumpcloud.com\/wp-content\/uploads\/2021\/01\/jc-logo-brand-2021.png","width":598,"height":101,"caption":"黑料海角91入口"},"image":{"@id":"https:\/\/jumpcloud.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support\/88063"}],"collection":[{"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support"}],"about":[{"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/types\/support"}],"author":[{"embeddable":true,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/users\/218"}],"version-history":[{"count":3,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support\/88063\/revisions"}],"predecessor-version":[{"id":88074,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support\/88063\/revisions\/88074"}],"wp:attachment":[{"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/media?parent=88063"}],"wp:term":[{"taxonomy":"support_category","embeddable":true,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support_category?post=88063"},{"taxonomy":"support_tag","embeddable":true,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/support_tag?post=88063"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/jumpcloud.com\/wp-json\/wp\/v2\/coauthors?post=88063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}