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.
    • Christoph HartC
      Christoph Hart
      last edited by

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

      orangeO 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            13

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.1k

                                            Posts