HISE Logo Forum
    • Categories
    • Register
    • Login

    Back to Codesigning, Notarizing and stapling.....

    Scheduled Pinned Locked Moved General Questions
    13 Posts 3 Posters 415 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @Lindon
      last edited by d.healey

      @Lindon Staple the zip although I don't know if it's required.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      LindonL 1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @d.healey
        last edited by

        @d-healey said in Back to Codesigning, Notarizing and stapling.....:

        @Lindon Staple the zip although I don't know if it's required.

        OK but I cant get my head around why I would staple the zip, what is stapling doing?

        HISE Development for hire.
        www.channelrobot.com

        LindonL 1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @Lindon
          last edited by

          Okay - spent some more time on the apple dev forums to get this:

          When you staple a ticket to a product,
          
          stapler
          does the following:
          It gets the cdhash from the product. This code directory hash value uniquely identifies the code. You see it for yourself using
          
          codesign -d
          .
          It asks the Apple servers for a ticket that includes that cdhash. This ticket was generated and stored on the Apple servers when you notarised the product.
          
          It attaches that ticket to your product. The exact mechanism for doing this varies but, for a bundled product like an app, it simply copies the the ticket to
          
          Contents/CodeResources
          

          but also....

          So, to clarify, Apple’s general recommendation is that you:
          Sign all your code from the inside out, up to and including any signable containers.
          
          Then notarise and staple the outermost container.
          
          Ship that stapled container.
          
          So, for example, if you ship an app inside an installer package on a disk image, you’d sign the app, then the installer package, then the disk image, and then notarise and staple the disk image.
          
          The ticket that you staple to the outermost container will cover any nested containers and code. The system ingests this ticket when you open the outermost container for the first time.
          
          There are exceptions to this rule. Most of them are edge cases that most folks can ignore, but there’s one important one. If you ship an app inside a zip archive, you can’t sign your outermost container because zip archives don’t support signing. In that case you should:
          1. Sign the app.
          
          2. Zip that.
          
          3. Notarise that.
          
          4. Take the app from step 1 and staple that.
          
          5. Zip that.
          
          6. Ship the zip archive from step 5.
          
          The system will ingest this ticket when the user first launches the app.
          

          So in truth the answer is "mostly" do the zip , but if that fails then its Ok to do the "app" itself...

          HISE Development for hire.
          www.channelrobot.com

          d.healeyD 1 Reply Last reply Reply Quote 1
          • d.healeyD
            d.healey @Lindon
            last edited by

            @Lindon I have a situation now where I just want a plugin (vst3 and component) in a zip file, no pkg.

            I've codesigned the plugins.
            Put them in a zip file.
            Uploaded the zip for notarization. All went well.
            Unzipped the notarized zip file.
            Attempted to staple the files but I get an error rejected (the code is valid but does not seem to be an app)

            Any ideas?

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            Dan KorneffD LindonL 3 Replies Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @d.healey
              last edited by

              @d-healey I think the zip file is what got notarized, not the contents.

              Dan Korneff - Producer / Mixer / Audio Nerd

              d.healeyD 1 Reply Last reply Reply Quote 0
              • Dan KorneffD
                Dan Korneff @d.healey
                last edited by Dan Korneff

                @d-healey
                You can notarize several different types of software deliverables, including:
                macOS apps
                Non-app bundles, such as kernel extensions
                Disk images (UDIF format)
                Flat installer packages

                It appears to only be for executable files.

                "When the user first installs or runs your software, the presence of a ticket (either online or attached to the executable) tells Gatekeeper that Apple notarized the software. Gatekeeper then places descriptive information in the initial launch dialog to help the user make an informed choice about whether to launch the app."

                Dan Korneff - Producer / Mixer / Audio Nerd

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Dan Korneff
                  last edited by d.healey

                  @Dan-Korneff said in Back to Codesigning, Notarizing and stapling.....:

                  @d-healey I think the zip file is what got notarized, not the contents.

                  Yes, but Apple says this

                  4b6941e0-f4a2-448d-820f-9f445c0a0de7-image.png

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  Dan KorneffD 1 Reply Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff @d.healey
                    last edited by

                    @d-healey hmmm....

                    Dan Korneff - Producer / Mixer / Audio Nerd

                    1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @d.healey
                      last edited by Lindon

                      @d-healey said in Back to Codesigning, Notarizing and stapling.....:

                      @Lindon I have a situation now where I just want a plugin (vst3 and component) in a zip file, no pkg.

                      I've codesigned the plugins.
                      Put them in a zip file.
                      Uploaded the zip for notarization. All went well.
                      Unzipped the notarized zip file.
                      Attempted to staple the files but I get an error rejected (the code is valid but does not seem to be an app)

                      Any ideas?

                      nearly right... no need to unzip the notarised zip... just staple the ORIGINAL plugin..from step1. . then zip this up for delivery...

                      HISE Development for hire.
                      www.channelrobot.com

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @Lindon
                        last edited by

                        @Lindon Oh ok, I'll try that, thanks!

                        Libre Wave - Freedom respecting instruments and effects
                        My Patreon - HISE tutorials
                        YouTube Channel - Public HISE tutorials

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @d.healey
                          last edited by Lindon

                          @d-healey Yeah it makes no sense to me on all sorts of levels... but it works...Apple.....🤷

                          HISE Development for hire.
                          www.channelrobot.com

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @Lindon
                            last edited by

                            @Lindon Hmm I just tried it but I get the same message about it not being an app

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            47

                            Online

                            1.7k

                            Users

                            11.7k

                            Topics

                            101.8k

                            Posts