HISE Logo Forum
    • Categories
    • Register
    • Login

    Notarisation for dummies

    Scheduled Pinned Locked Moved General Questions
    160 Posts 20 Posters 17.8k 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.
    • LindonL
      Lindon @Christoph Hart
      last edited by Lindon

      @Christoph-Hart

      Ok heres my process:
      Step 0. build your app and plugins...

      Step 1: Sign the plugin or app from desktop (copy it there):

      run these commands in the terminal window:

      codesign -s "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.component" --timestamp

      codesign -s "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.vst" --timestamp
      codesign -s "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.vst3" --timestamp
      codesign --deep --force --options runtime --sign "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.app"

      Validate that the code signing has happened:

      codesign -vvv /Users/lindon/Desktop/yourvst.vst

      Step 2: Make the installer package & Sign the package from desktop - note my white box has my dev installer certificate attached..(copy it there):

      codesign -s "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.pkg"

      Step 3: notarize your package it should notarize your app at the same time......

      —NOTE: YOU MUST TYPE THIS INTO THE TERMINAL BY HAND - IT WONT WORK CUT AND PASTE FOR ME!!!!!

      xcrun altool --notarize-app -f "/Users/lindon/Desktop/your.pkg” --primary-bundle-id com.your.pkg --username "your-apple-id-NOT-your-dev_id" --password "your-altool-password"

      Step 4: Wait for email from apple…

      on success notification, staple your package:

      xcrun stapler staple "/Users/lindon/Desktop/your.pkg"

      Step 5:check if package has been signed…
      codesign -vvv --deep --strict "/Users/lindon/Desktop/your.pkg”

      OK this all works fine - except!!! - If I add an icon to the app after its been built then it will NOT notarize giving you the ever helpful message:

      unsealed contents present in the bundle root

      As yet I havent tried to notarize an app that has used the Icon.png-in-the-images-folder approach..

      HISE Development for hire.
      www.channelrobot.com

      1 Reply Last reply Reply Quote 2
      • Christoph HartC
        Christoph Hart
        last edited by

        @Lindon said in Notarisation for dummies:

        If I add an icon to the app after its been built

        Why?

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by

          @Lindon said in Notarisation for dummies:

          codesign --deep --force --options runtime --sign "Developer ID Application: your-dev-id (your-dev-id-number)" "/Users/lindon/Desktop/your.app"

          HERO!!!!

          hisefiloH 1 Reply Last reply Reply Quote 0
          • orangeO
            orange @Christoph Hart
            last edited by orange

            @Christoph-Hart said in Notarisation for dummies:

            Have you enabled the Hardened Runtime properties in the autogenerated Projucer project?

            No. For plugins, my process is this:

            Hise Export plugins > Sign plugins > Build installer > Sign installer > Notarize installer > Time stamp installer

            For the notarization of apps and plugins, you can follow this updated guide: https://www.kvraudio.com/forum/viewtopic.php?t=531663

            develop Branch / XCode 13.1
            macOS Monterey / M1 Max

            1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart
              last edited by Christoph Hart

              Yes I did follow the guideline, but forgot to add the --deep --force --options runtime flags when signing the standalone app. All works now.

              Just one minor thing, I couldn't verify the notarisation with Lindons's suggestion, but this approach worked

              orangeO 1 Reply Last reply Reply Quote 2
              • orangeO
                orange @Christoph Hart
                last edited by orange

                @Christoph-Hart said in Notarisation for dummies:

                Yes I did follow the guideline, but forgot to add the --deep --force --options runtime flags when signing the standalone app. All works now.

                Just one minor thing, I couldn't verify the notarisation with Lindons's suggestion, but this approach worked

                For codesign checking I use this:

                pkgutil --check-signature "/Volumes/Data/My_Installer.pkg"
                

                For notarization checking I use this:

                spctl -a -vvv -t install "/Volumes/Data/My_Installer.pkg"
                

                If the notarization is ok, you should see "accepted" message.


                Both of them should work in your system too.

                develop Branch / XCode 13.1
                macOS Monterey / M1 Max

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

                  @orange - cool. I will add these to my process...

                  HISE Development for hire.
                  www.channelrobot.com

                  1 Reply Last reply Reply Quote 1
                  • Casey KolbC
                    Casey Kolb
                    last edited by

                    Just another tidbit for those lay-people like me — I recently discovered this third-party app while trying to learn about notarization: DMG Canvas

                    It's a WYSIWYG builder that automatically notarizes and staples your installer using your Apple ID when you build the DMG file. Super clean!

                    Casey Kolb
                    Founder & CEO of Lunacy Audio
                    Composer | Producer | Software Developer

                    ? 1 Reply Last reply Reply Quote 1
                    • hisefiloH
                      hisefilo @Christoph Hart
                      last edited by

                      @Christoph-Hart I do the @Lindon way. Almost everything the same. I just staple VSTs and AUs before packaging them into a .pkg and I got the "The validate action worked!" on everyone (files by themselves and installers)

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

                        @hisefilo You don't need to notarize/staple your plugins. You only need to codesign plugins and notarize/staple the installer.

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

                        hisefiloH NatanN 2 Replies Last reply Reply Quote 0
                        • hisefiloH
                          hisefilo @d.healey
                          last edited by

                          @d-healey I was loosing my time then!!!! Thanks Dave

                          1 Reply Last reply Reply Quote 0
                          • NatanN
                            Natan @d.healey
                            last edited by

                            @d-healey said in Notarisation for dummies:

                            @hisefilo You don't need to notarize/staple your plugins. You only need to codesign plugins and notarize/staple the installer.

                            So Only Code Signing The .Component / .VST Or .VST3 Can Let Us To Distribute The Plugin?
                            Without Installers?

                            So End User Can Drag & Drop The Plugin Into The Folders And Get To Work Right Away?!!!

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

                              @Natanr No. If you are distributing the binaries only then they need to be codesigned and notarized/stapled, but if you are distributing them in a pkg (or a DMG that contains a pkg) then you only need to notarize the pkg. This is according to the famous KVR post - https://www.kvraudio.com/forum/viewtopic.php?t=531663

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

                              A 1 Reply Last reply Reply Quote 1
                              • A
                                adriano @d.healey
                                last edited by

                                @d-healey at the risk of a pass for an ignorant, what is the use of notarization? if my .vst or .au plugin is not notarized it will not work? I am under catalina and my plugins are working fine. it's just a legal obligation is it?

                                1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart
                                  last edited by

                                  The end user will see a passive-aggressive popup from macOS that suggests your software is full of viruses unless you notarize.

                                  It isn't a show stopper (AFAIK you can still run the installer by right-clicking and choosing Open from the context menu) but you need to prepare to answer a few more customer support emails than you should have to...

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    adriano @Christoph Hart
                                    last edited by

                                    @Christoph-Hart however i have already given my plugins and vst to friends to try and they had no problem installing. logic asks that the plugin be checked but we can activate it anyway.

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

                                      @adriano are they using Catalina?

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

                                      LindonL A 3 Replies Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @d.healey
                                        last edited by

                                        @d-healey - my understanding remains that you need to notarise anything that will "run" on its own - so app or pkg or dmg etc. but plug-ins - that are called from within DAWs only need to be codesigned. Colour me massively unsurprised is this opinion is wrong...

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                          @Lindon Perhaps it is needed for apps, the KVR thread just mentions plugins. I'll see what I can find out!

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

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            adriano @d.healey
                                            last edited by

                                            @d-healey yes. And me too

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

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts