Product: macOS,
Notarization Tool: notarytool,
Stapler Tool: xcrun stapler,
Application: master-billing.app,
DMG: master-billing.dmg
I'm attempting to notarize and staple a macOS .dmg file containing a signed .app. Notarization completes successfully, but the stapling step fails with Error 65. All tools are up-to-date and I'm following the official Apple process.
#!/bin/bash
set -e
APP="dist/mac-arm64/master-billing.app"
DMG="dist/mac-arm64/master-billing.dmg"
IDENTITY="Developer ID Application: NAME (TEAM ID)"
PROFILE="notarysiva"
VOLUME_NAME="MasterBilling"
Sign binaries and frameworks
find "$APP" -type f ( -name ".dylib" -or -name ".so" -or -name "*.node" -or -perm -u+x )
-exec codesign --force --options runtime --timestamp --sign "$IDENTITY" {} ;
find "$APP" -type d ( -name ".app" -or -name ".framework" )
-exec codesign --force --options runtime --timestamp --sign "$IDENTITY" {} ;
codesign --deep --force --options runtime --timestamp
--sign "$IDENTITY" "$APP"
Create DMG
hdiutil create -volname "$VOLUME_NAME" -srcfolder "$APP" -ov -format UDZO "$DMG"
Sign DMG
codesign --sign "$IDENTITY" --timestamp "$DMG"
Verify DMG signature
codesign --verify --verbose=2 "$DMG"
Submit for notarization
xcrun notarytool submit "$DMG" --keychain-profile "$PROFILE" --wait
Staple ticket
xcrun stapler staple -v "$DMG"
Signing all binaries, dylibs, and frameworks...
.
.
✅ App signing complete.
💽 Creating DMG...
......................................................................................
created: /Users/one/Documents/MASTER/bill-master/dist/mac-arm64/master-billing.dmg
🔏 Signing the DMG...
✅ Verifying DMG signature...
dist/mac-arm64/master-billing.dmg: valid on disk
dist/mac-arm64/master-billing.dmg: satisfies its Designated Requirement
📤 Submitting DMG for notarization...
Conducting pre-submission checks for master-billing.dmg and initiating connection to the Apple notary service...
Submission ID received
id: 32927c3c-7459-42b4-a90c
Upload progress: 100.00% (123 MB of 123 MB)
Successfully uploaded file
id: 32927c3c-7459-42b4-a90c
path: /Users/one/Documents/MASTER/bill-master/dist/mac-arm64/master-billing.dmg
Waiting for processing to complete.
Current status: Accepted............
Processing complete
id: 32927c3c-7459-42b4-a90c
status: Accepted
📌 Stapling notarization ticket to DMG...
Processing: /Users/one/Documents/MASTER/bill-master/dist/mac-arm64/master-billing.dmg
.
.
.
Downloaded ticket has been stored at file:///var/folders/1l/ht34h5y11mv3rhv8dlxy_g4c0000gp/T/5bb9e667-dfe1-4390-8354-56ced7f48fa0.ticket.
Could not validate ticket for /Users/one/Documents/MASTER/bill-master/dist/mac-arm64/master-billing.dmg
The staple and validate action failed! Error 65.
Demystify code signing and its importance in app development. Get help troubleshooting code signing issues and ensure your app is properly signed for distribution.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Looking for some assistance and having an Apple Signing Certificate for our Audio Units Plugin.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
I'm facing a persistent issue with provisioning profiles not including the com.apple.developer.in-app-purchase entitlement, even though the In-App Purchase capability is clearly enabled in the Developer Portal for my app.
What I’ve already done:
Confirmed that the In-App Purchase capability is enabled in the App ID configuration
Deleted all provisioning profiles locally (~/Library/MobileDevice/Provisioning Profiles)
Regenerated both Development and App Store provisioning profiles from scratch
Tried Xcode's automatic signing (after properly registering the device)
Verified the provisioning profiles via Terminal (security cms -D -i ...) — the IAP entitlement is missing every time
Recreated valid distribution and development certificates
Cleaned the Xcode project and settings
The result:
Every attempt to build or archive the app in Xcode returns:
Missing entitlement: com.apple.developer.in-app-purchase
I've also opened a support case with Apple, but so far I’ve only been redirected to general documentation.
Has anyone encountered this recently?
Is there a known delay or sync issue on Apple’s side when enabling capabilities?
Can the provisioning profile or entitlement data be manually refreshed by Apple?
Is there any workaround that worked for you in this situation?
productsign Command Appears to Succeed but Package has No Valid Signature
Category: Security, macOS, Code Signing
Question:
productsign command, when signing a PKG created with productbuild, appears to succeed with a success message (Wrote signed product archive to ...) but spctl verification results in rejected, source=no usable signature, indicating that the signature was not actually applied.
Details:
Goal: To sign a distribution package created with productbuild using a Developer ID Installer certificate.
Certificate Used:
Developer ID Installer: [Company Name] ([Team ID])
This certificate was issued by Previous Sub-CA and is not the latest G2 Sub-CA recommended by Apple. We cannot create a new G2 Sub-CA certificate as we have reached the limit of 5.
productsign Command:
productsign --sign "Developer ID Installer: [Company Name] ([Team ID])" [input.pkg] [output.pkg]
productsign Output:
Wrote signed product archive to [output.pkg] (Appears as a success message).
spctl Signature Verification:
spctl -a -vv [output.pkg]
Result: rejected, source=no usable signature
Notarization Service Results (Behavioral difference between Macs):
On Mac A, the submission status was Accepted.
On Mac B, the status was Invalid, with the notarization log message being The binary is not signed..
Troubleshooting Steps Taken:
We attempted to sign both component and distribution packages with productsign, and in both cases, the signature was not recognized by the system.
We skipped productsign and relied on the notarization service's auto-signing, but the notarization log still reported The binary is not signed., and the notarization failed.
We have confirmed that the certificate and private key are properly associated in Keychain Access.
My Questions:
Given that we are using an older Previous Sub-CA certificate and cannot create a new one, why does productsign appear to succeed when the signature is not being applied?
What could cause the behavioral difference where notarization is Accepted on Mac A but Invalid on Mac B?
Is this a known issue with Apple's tools, or is it possibly caused by the specific structure of our PKG?
What is the recommended workflow or debugging method to successfully sign and notarize a PKG under these circumstances?
Thank you for your assistance
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode
Gatekeeper
Signing Certificates
Developer ID
Hi everyone,
After I recently changed my Apple ID (iCloud) password, my Developer ID certificate stopped working for signing macOS apps.
Symptoms:
Signing fails with the Developer ID certificate that was previously working fine.
I tried re-downloading the certificate from my Apple Developer account and importing it into the Keychain, but the issue persists.
It seems that the Developer ID identity is no longer trusted or properly linked to my system since the password change.
Attempts:
Re-downloaded and installed the certificate from the developer portal.
Verified that the private key is present and linked.
Checked keychain access and code-signing identity — everything appears normal, but the signed apps are rejected or the signing process fails.
Blocking issue:
I am unable to delete or revoke the Developer ID certificate on my account (Apple Support says it's not possible).
Also, I can't create a new one due to the certificate limit.
Questions:
Is it expected for a Developer ID certificate to become invalid after changing the Apple ID password?
Is there a recommended way to refresh or restore the certificate trust on macOS?
How can I invalidate the current certificate and generate a new one if I'm stuck?
Any insights or official guidance would be really appreciated.
Thanks in advance!
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Code Signing
Developer ID
I am managing provisioning profiles manually, including the one for my Notification Service Extension.
I am wondering what happens if the provisioning profile for the Notification Service Extension expires.
I have two types of apps:
An App Store-distributed app
An Enterprise-distributed app
Can someone clarify how the expiration of the Notification Service Extension's provisioning profile affects both cases? Will the extension stop functioning, or will it continue to work normally?
Can someone please describe what is necessary to perform signing using codesign in a system that runs as LaunchDaemon.
All workarounds like placing the codesigning cert + private key a custom keychain and unlock it in the session of the LaunchDaemon doesn't work anymore on Sequoia.
Or are there alternatives for signing MachO binaries without codesign?
Topic:
Code Signing
SubTopic:
General
Hello,
Recently our team requested the "Notification (NSE) filtering" capability. Our request was rejected but we sent a new request with a more detailed explanation of our need.
However if we go check the status of the request in the Capability Requests tab the status is "No requests". We sent the new request yesterday.
Is it even possible to request a capability after a rejected request? We really need the capability and the absence of it is blocking our progress.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hi the best community! When I try to submit the app to Testflight I receive the following error:
"codesign command failed (/var/folders/j9/yh_rkh114rbgvmglf4gycj8w0000gn/T/XcodeDistPipeline.~~~OW0Dwk/Root/Payload/Application.app/Frameworks/Alamofire.framework: replacing existing signature
/var/folders/j9/yh_rkh114rbgvmglf4gycj8w0000gn/T/XcodeDistPipeline.~~~OW0Dwk/Root/Payload/Application.app/Frameworks/Alamofire.framework: invalid or corrupted code requirement(s)
Requirement syntax error(s):
line 1:155: unexpected token: NPH
)"
I have never stuck with this issue before.
Xcode Version 16.0
I assume that there is something related to code signing and our company name in App Store connect: Medical Institution “NPH” (The company name has been anonymized for privacy purposes.)
Appreciate any help.
Thank you!
I recently had to update my certificates for a project. I deleted a few old ones, and I currently have one Development certificate. I needed to create another Development certificate specifically, it's saying "Maximum number of certificates generated." I thought the maximum was two Development certificates? Has anyone else had this issue? Thinking it could be a stuck workflow or something like that.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Developer Program
Hi
I am building obs studio using cmake and Xcode.
I used
cmake --preset macos -DOBS_CODESIGN_IDENTITY="" to generate the build folder
and inside X code used Provisioning Profile with Developer ID Application certification.
The build was generated successfully but when I tried to turn on the virtual camera I see missing Missing entitlement com.apple.developer.system-extension.install error.
(My Provisioning profile has System Extension Capability checked on apple developer portal)
If I use this flow instead:
cmake --preset macos -DOBS_CODESIGN_TEAM=63B5A5WDNG
Build using Xcode with Automatic manage signing with Apple Developer Certificate.
Obs studio builds successfully and Virtual camera extension also works fine.
My primary goal is to notarise my app which contains OBS studio and Blackhole Audio driver for distribution outside app store.
If I try to sign my obs app generated in second step
codesign --deep --force --timestamp --verify --verbose \
--options runtime
--sign "Developer ID Application:***"
"OBS.app"
The obs app fails to launch due to some errors.
Can anyone please guide me which step I might be doing wrong,
Much Appreciated.
Thanks
Hi support,
Currently we are in a process of migrating our Qt application for MAC OS - ventura -v13.4.
There is a specific feature in our application in which client tries to communicate with server (Socket communication) using Qt's QsslSocket Apis . To achieve this we are using self signed Ca certificate (.pem ) generated by using openSSl commands which uses IP address of the server.
We are manually installing the certificate inside MAC OS - keychain and trusting it manually as well after installing .
This is working fine in XCode environment in debug mode in MAC OS and client -server handshake is happening successfully. How ever after creating .dmg file (installer) the same handshake is not happening and we are getting error -Connection time out.
Upon investigating this online, we got to know there has to be codesigning (both app bundle and the dmg file )along with notarization of the .dmg file in order to access keychain of MAC OS at runtime to access the self signed certificate installed.
Now we have 2 queries here.
Is code signing mandatory if we want to verify our app through keychain with .dmg file ?
If yes, whats the best way to achieve this ?
We have tried 2 options without any luck.
option1 - Trying to build our specific target among 'ALL_BUILD' with signing key settings inside xcode where we are providing developer provisional certificate with apple team ID . After that we are trying to archive to generate dmg file which is code signed.
We are failing here as the signed dmg is not getting installed due to other app related dependencies are missing .
option 2- Code signing the dmg and the app bundle manually outside the environment of xcode with developer certificate and team ID.
We are failing here as notarization needs to be done it seems to access keychain for certificate verification
If Code signing is not mandatory then whats the best possible way to achieve this considering manually installation of certificate inside keychain with adding trust option is not working at the moment.
Please specify the best solution if possible.
Topic:
Code Signing
SubTopic:
General
I have certificates in my xcode>settings>account>manage certificates that I cannot get rid of. I know that they are linked to certificates in developer.apple.com but I've removed them from there and they persist in xcode.
I have one that says "Not in Keychain", which is true. I deleted all the keychains related to these accounts in an attempt to fix something.
I also have ones that say things like "Missing Private key"
Our setup is that we have one main account "Company Inc." which I am setup to be an Admin in. I created a certificate under my credentials and added it to my keychain and showed up properly in xcode but I still have the other ones.
HOW DO I REMOVE THEM :sob:
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Developer ID
I submitted a mac app for Notarization. For the first few tries the Notarization failed with an error "Team is not yet configured for Notarization" but few days after my account started to show "ENROLL" option again even though my membership was set to expire on 2026. I am doubting my account has been suspended. I have not received any emails from apple regarding the suspension. I have contacted support but no help yet ! This was the second year, i was paying for the membership. Could you please help me to -
Help me get the account unsuspended (if it is, as there is no notification or information regarding this)
If the account is suspended due to my app being submitted for Notarization then help me identify the reason so that i can fix them.
Mac App is Time Tracking application that runs in background and capture periodic screenshot(NOTE - I am doing this after taking user consent)
I'm attempting to upload an updated version of our macOS app for distribution via the App Store. We've done this without issue before, but I am now receiving a warning when I upload the app via Transporter:
"Cannot be used with TestFlight because the signature for the bundle at “AXON Studio.app” is missing an application identifier but has an application identifier in the provisioning profile for the bundle. Bundles with application identifiers in the provisioning profile are expected to have the same identifier signed into the bundle in order to be eligible for TestFlight." (90886)
I just recently started seeing this warning when I upload our application via Transporter. Before this warning started happening, I was using the exact same process and scripts to build/package/codesign our application. NOTE: we are not using Xcode to build our application, so we can't take advantage of any codesigning/packaging automation provided by Xcode (the app is written in C#/.NET 6.0), so we are doing all build/package/codesign steps using the appropriate macOS command line utilities. Also, I have verified that the app bundle and its contents have valid signatures.
Does anyone have any idea what may have changed to cause this warning, or how I might go about determining the root cause so I can fix it?
I want to help contribute a feature in a virtual-machine app in macOS that supports PCIe device passthrough over thunderbolt.
I have a question about the entitlements. Since I do not represent the GPU vendors, would I be allowed to get a driver signed that matches GPU vendor IDs? Is there such a thing as wildcard entitlement for PCIDriverKit?
I don't want end-users to have to disable SIP to be able to use this. Any suggestions/leads? Thank you.
Hey Apple Friends,
We currently have an enterprise version of our app for debugging and internal distribution. Our release configuration uses our App Store account.
However, it appears you cannot add a 'Declared Age Range' to the Enterprise app as a capability making it impossible to debug because we have added the 'Declared Age Range API' locally, but we cannot add it as a capability on the dev portal.
Is there any work around for this?
I want to export Mac OS application out side App Store and I need to have Developer Id installer certificate to do the same.
When I go to certificate section in developer portal - I only see option of
Mac App Distribution
Mac Installer Distribution
Developer ID Application
Does anyone know where I can check the Developer ID installer part. Developer ID application doesn't work for signing the app manually.
Hi!
We are trying to request the SensorKit entitlement (com.apple.developer.sensorkit.reader.allow) for a research app we’re working on.
When we go to Apple Developer → Certificates, Identifiers & Profiles → Identifiers, we see the SensorKit capability listed under "Capability Requests", but:
There’s no form or button to submit the request, unlike with other capabilities.
We tested this using an Account Holder role, and also tried requesting other capabilities — which do show the form correctly, so this seems to be an issue specific to SensorKit.
We’d appreciate any guidance on:
Whether this is a known issue with the SensorKit request flow.
If there’s an alternative way to request this capability while the form is unavailable.
Thanks in advance!
Hello Apple Developer Support Community,
I am encountering a persistent issue while trying to code sign my macOS application (PromptVault.app) using a valid Developer ID Application certificate. The signing process fails with the following warning and error for every native .so file inside the app bundle:
`Warning: unable to build chain to self-signed root for signer "(null)"
<file-path>: errSecInternalComponent`
What I have tried so far:
Verified that my Developer ID Application certificate and the associated private key exist correctly in the login keychain.
Confirmed that the intermediate certificate "Apple Worldwide Developer Relations - G6" is installed and valid in the System keychain.
Added Terminal to Full Disk Access in Security & Privacy to ensure signing tools have required permissions.
Executed security set-key-partition-list to explicitly allow code signing tools to access the private key.
Reinstalled both developer and Apple intermediate certificates.
Used codesign to individually sign .so files and then sign the entire bundle.
Ensured macOS and Xcode Command Line Tools are up to date.
Created a clean Python virtual environment and rebuilt all dependencies.
Tested code signing in multiple ways and with verbose logging.
Current status:
Despite all these efforts, the same warning and error persist during the signing process of every .so file. This prevents successful code signing and notarization, blocking distribution.
Request for assistance:
Could anyone confirm if my certificate and keychain setup sounds correct?
Are there known issues or extra steps necessary to properly build the trust chain for Developer ID certificates on macOS 15.6.1 (Sequoia)?
Any suggestions for resolving the errSecInternalComponent during signing native libraries?
Guidance on ensuring the entire certificates chain is trusted and usable by codesign tools?
I can provide debug logs, screenshots of my keychain and security settings, or any other diagnostic information if needed.
Thanks in advance for your help!