I am facing an issue while trying to staple a notarization ticket to my signed macOS installer package.
Details of my setup:
The .pkg file is signed using my Developer ID Installer certificate.
The app inside the package is signed using my Developer ID Application certificate.
Notarization via xcrun notarytool completes successfully with status: Accepted.
However, the stapler command fails with the following error:
xcrun stapler staple -v /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
Processing: /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
Could not validate ticket for /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
The staple and validate action failed! Error 65.
I verified that all other Apple notarization-related servers (api.apple-cloudkit.com, gs.apple.com, ocsp.apple.com, ocsp2.apple.com, crl.apple.com, developer.apple.com) are reachable.
However, the domain cdn-apple-cloudkit.apple.com cannot be resolved from any network, including mobile or public Wi-Fi.
Both dig and nslookup return “No answer” even when using external DNS servers like 8.8.8.8 or 1.1.1.1.
It appears that cdn-apple-cloudkit.apple.com might be required during the stapler validation process, but the DNS for this domain is not resolving.
Could you please confirm whether this CDN endpoint is required for stapling, and if there is currently an outage or configuration issue with cdn-apple-cloudkit.apple.com?
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
I believe that this is related to the post https://developer.apple.com/forums/thread/790880.
I essentially have the same problem that they did. I submit my Distribution PKG for notarization but the notarization fails and when I attempt to install the PKG user the UI I get a "External component packages (3) trustLevel=0 (trust evaluation failed; treating as invalid due to higher trust level for parent product archive)"
However if I install using "sudo installer -verboseR -pkg ConcealDistribution.pkg -target /" everything works as expected.
The difference between me and the other post is that when I expand my PKG using pkgutil --expand I do not have a Resources folder within my top level distribution. Instead my structure looks like
ConcealDistribution
├── Distribution
├── ConcealConnect.pkg
├── ConcealBrowse.pkg
└── ConcealUpdate.pkg
The specific notary service errors I receive are as follows
{
"logFormatVersion": 1,
"jobId": "7e30e3fd-1739-497c-a02e-64fbe357221d",
"status": "Invalid",
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"archiveFilename": "ConcealDistribution.pkg",
"uploadDate": "2025-10-08T19:41:33.491Z",
"sha256": "40aacfacf25c6da0be8fe31ae9c145a25ddf9ed1f38be714687c74d95b26619d",
"ticketContents": null,
"issues": [
{
"severity": "error",
"code": null,
"path": "ConcealDistribution.pkg",
"message": "Package ConcealDistribution.pkg has no signed executables or bundles. No tickets can be generated.",
"docUrl": null,
"architecture": null
},
{
"severity": "warning",
"code": null,
"path": "ConcealDistribution.pkg",
"message": "The contents of the package at ConcealDistribution.pkg could not be extracted.",
"docUrl": null,
"architecture": null
}
]
}
For what its worth all the inner PKGs have their executables signed, the PKGs are signed themselves and they are all notarized and stapled without issue. Then I am attempting to sign and notarize the outer PKG and that is where the problems pop up.
Additionally I'm not sure when this stopped working as I expected but just a few months ago I was able to do this exact same process and install with the UI and have it work.
Topic:
Code Signing
SubTopic:
Notarization
Anyone know how long it takes to get Apple to respond to a request for provisioning for endpoint security?
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Provisioning Profiles
Endpoint Security
My notary service has been stuck for more than 5 hours. Is it taking long time because the notary service is down or because i am a new user
My notary service has been stuck for more than 5 hours. Is it because i am a new user or there is an notary service outage.
Dear Apple Developer Support,
I am experiencing a critical issue with Developer ID certificates issued for Turkish (C=TR) developer accounts that prevents code signing on macOS.
Issue Summary
All Turkish Developer ID certificates issued on October 4, 2025, contain an Apple proprietary extension (OID 1.2.840.113635.100.6.1.13) marked as "critical" that both OpenSSL and codesign cannot handle.
Technical Details
Team ID: 4B529G53AG
Certificate Country: TR (Turkey)
Issue Date: October 4, 2025
macOS Version: 15.6.1 (24G90)
Problematic Extension OID: 1.2.840.113635.100.6.1.13 (marked as critical)
Evidence
I have verified this issue across THREE different Turkish Developer ID certificates:
Serial: 21F90A51423BA96F74F23629AD48C4B1
Serial: 461CBAF05C9EDE6E
Serial: 184B6C2222DB76A376C248EC1E5A9575
All three certificates contain the same critical extension.
Error Messages
OpenSSL: error 34 at 0 depth lookup: unhandled critical extension
Codesign: unable to build chain to self-signed root for signer
errSecInternalComponent
Comparison with Working Certificate
My previous Developer ID certificate from Singapore (before revocation) worked perfectly and did NOT contain this critical extension. This confirms the issue is specific to Turkish certificates.
Impact
Cannot sign applications for distribution, which blocks:
DMG signing for distribution
Notarization process
App distribution to users
Questions
What is the purpose of OID 1.2.840.113635.100.6.1.13?
Why is it marked as critical only for Turkish certificates?
Is this related to Turkish regulatory requirements?
Can you issue a certificate without this critical extension?
Is there a macOS update planned to support this extension?
Request
Please either:
Issue a Developer ID certificate without the critical extension OID 1.2.840.113635.100.6.1.13
Provide a workaround for signing with current Turkish certificates
Update the codesign tool to handle this extension
This appears to be a systematic issue affecting all Turkish developers as of October 2025.
Thank you for your urgent attention to this matter.
Best regards,
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
In our local test configurations, a developer can sign test apps for device installation using any key associated with the company team. However, if a developer accidentally chooses an identity from some other team, installation fails with no information about the problem. It just mentions that no provisioning profile could be found, leaving everyone in the dark about what is wrong.
Instead, we would like to pre-validate the selected signing identity by checking the team name or id. This could be done, for example, by extracting the x509 certificate from the signing identity and checking the "OU" field (which is set to the team id). However, none of the apple commands will divulge the x509 certificate from a developer id. So far our best options is to create a fake app, sign the app, then use command:
codesign --display --extract-certificates
This solution seems excessively serpentine. Is there no direct command that will accept the sha of a signing identity and return a nice .pem containing the associated certificate chain? Or, better yet, is there a command that takes the signing identity and simply returns the name or id of the associated team?
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
I'm posting this here after reading Quinn's post here: https://developer.apple.com/forums/thread/799000
The above entitlement is mentioned in IOUSBHostControllerInterface.h.
It isn't an entitlement one can add using the + button on the Capabilities panel in Xcode. If I try to add it by hand, Xcode complains that it isn't in my profile.
Is this a managed entitlement?
We'd like to create a local USB "device" to represent a real device reachable over a network.
I'm trying to sign a .app package coming from Py2app.
Unfortunately I keep running into the same two issues:
The binary is not signed with a valid Developer ID certificate.
and
The signature does not include a secure timestamp.
I tried everything, from recreating the signatures, with different arguments, different keys and certificates, but it keeps complaining with these two errors on a long list of files.
For reference I added the python script I use for signing the files.
code_singing.py
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hey,
Just recently I realized something I have been overlooking in my build pipelines.
I thought that by adding the the "hardened runtime", I disable 3rd-party library injection (I do not have the disable-library-validation entitlement added).
However, I was using some checks on my code and I noticed that the "library validation" code signature check fails on my applications (e.g. adding the .libraryValidation requirement via the LightweightCodeRequirements framework) - with codesign -dvvvv /path/to/app I can check it doesn't have the CS_REQUIRE_LV flag:
[...]
CodeDirectory v=20500 size=937 flags=0x10000(runtime) hashes=18+7 location=embedded
[...]
then I used in Xcode the "Other Code Signing Flags" setting and added the -o library option, which added the flag:
[...]
CodeDirectory v=20500 size=937 flags=0x12000(library-validation,runtime) hashes=18+7 location=embedded
[...]
Is this flag something I should be explicitly setting? Because I was under the impression enabling hardened runtime would be enough. Popular Developer ID distributed applications (e.g. Google Chrome, Parallels Desktop, Slack) all have this flag set.
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 Apple team,
I have a recently created dev account and submitted two different 20-30 mb .apps for notary through the notary tool. I have read that this should only take minutes at this size of an app but both have been stuck in progress for almost 24+ hours.
Below are the UUIDs of the notary submissions. Also I tried re-submitting but these are also stuck in progress.
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2025-09-26T11:46:32.643Z
id: 9714758e-e216-496d-80f8-422f77011ebe
name: <>.zip
status: In Progress
--------------------------------------------------
createdDate: 2025-09-25T21:48:46.161Z
id: c2a81300-c903-4277-8ef3-70205a690c76
name: <>.zip
status: In Progress
--------------------------------------------------
createdDate: 2025-09-25T18:24:36.205Z
id: 42742be1-c7e5-4483-a2c5-95e89086d070
name: <>.zip
status: In Progress
--------------------------------------------------
createdDate: 2025-09-25T16:35:09.059Z
id: a404256e-40c2-4dca-97fc-983e70ea4b7b
name: <>.zip
status: In Progress
I tried building a macOS app with Electron, but I ran into problems during notarization.
I used notarytool to upload my DMG and got status: Invalid.
xcrun notarytool log output
{
"logFormatVersion": 1,
"jobId": "680bf475-a5f4-4675-9083-aa755d492b18",
"status": "Invalid",
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"archiveFilename": "BODYPARK-v3.6.0-mac.app.zip",
"uploadDate": "2025-09-25T02:50:41.523Z",
"sha256": "e61074b9bba6d03696f2d8b0b13870daafc283960e61ab5002d688e4e82ef6f6",
"ticketContents": null,
"issues": [
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature of the binary is invalid.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature does not include a secure timestamp.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087733",
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature of the binary is invalid.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087735",
"architecture": "arm64"
},
{
"severity": "error",
"code": null,
"path": "BODYPARK-v3.6.0-mac.app.zip/BODYPARK-v3.6.0-mac.app/Contents/Resources/plugin/XMagic/mac/libpag.framework/libpag",
"message": "The signature does not include a secure timestamp.",
"docUrl": "https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues#3087733",
"architecture": "arm64"
}
]
}
I checked the signature of my .app file:
codesign -v -vvv --deep --strict /Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (GPU).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (GPU).app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Plugin).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Plugin).app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXFFmpeg.framework/Versions/Current/.
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXFFmpeg.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/Helpers/chrome_crashpad_handler
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/Electron Framework.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXSoundTouch.framework/Versions/Current/.
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/TXSoundTouch.framework/Versions/Current/.
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper.app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper.app
--prepared:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Renderer).app
--validated:/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/Frameworks/BODYPARK-v3.6.0-mac Helper (Renderer).app
/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac: valid on disk
/Users/zhangheng/Desktop/development/coach-app/dist_electron/mac-universal/BODYPARK-v3.6.0-mac.app/Contents/MacOS/BODYPARK-v3.6.0-mac: satisfies its Designated Requirement
It looks like local signing succeeded, but notarization is failing. I’m a beginner with macOS signing/notarization. Could you please help me figure out what I’m doing wrong and how to fix this? I’d really appreciate any guidance.
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
Hi - appreciate your help in advance!
Building a simple habit tracking app.
I got approval for FamilyControls distribution.
After creating a new provisioning profile with those capabilities enabled, when I try and build in xcode (16.4) using that Profile I get an error stating:
"Provisioning profile "CreateMoreFamilyControlsv2" doesn't include the com.apple.developer.deviceactivity and com.apple.developer.deviceactivity.reporting entitlements"
I've confirmed bundle identifier matches, Team etc
Similarly when i do automatic signing see 3rd screenshot.
Not sure what to do at this point, I've heard deviceActivity is automatically applied when family controls is approved but still running into this issue.
I am receiving an entitlement error from stripe terminal SDK when integrating Tap to Pay from apple in the info.plist.
Im hoping that someone can give me their input on my error output rather than diving into the stripe sdk to point me in the right direction of something I may have missed with entitlements.
I have been approved for tap to pay entitlement and am following the instructions here from apple: https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone
com.apple.developer.proximity-reader.tap-to-pay
I tried to create a new IOS provisioning profile and re-apply it to the app using Xcode to build it, but I got into trouble.
The build is good, but it bounces when running the app.
I would appreciate it if you could let me know what to do.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Hello,
My project fails to build/run on a physical device or archive, due to a persistent provisioning error.
Exact Error: Provisioning profile "iOS Team Provisioning Profile: com.huiwan.Ohra-Journal" doesn't include the BGTaskSchedulerPermittedIdentifiers entitlement.
I have already performed extensive troubleshooting, and all local configurations appear to be correct:
Capabilities: "Background Modes" with the "Background processing" option is enabled in the target's "Signing & Capabilities" tab.
Info.plist: The Permitted background task scheduler identifiers key is present in the target's Info.plist, and it contains the correct task identifier (com.huiwan.ohra-journal.refresh).
Entitlements File: The .entitlements file is correctly configured by Xcode.
Full Reset: I have tried a complete reset procedure, including deleting ~/Library/Developer/Xcode/DerivedData and ~/Library/MobileDevice/Provisioning Profiles/, restarting Xcode, and letting the automatic signing system regenerate the profile from scratch. The issue persists.
Despite all these correct local settings, the provisioning profile automatically generated by Xcode is consistently missing the required entitlement. This strongly suggests a server-side issue with the provisioning service for my App ID (com.huiwan.Ohra-Journal).
I filed a bug report on the Feedback Assistant (FB20268285) a week ago but have not received a response. This issue is completely blocking my development and ability to submit the app.
Could you please investigate the status of my App ID and the provisioning services associated with it?
Thank you.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode Server
Xcode
Signing Certificates
Developer ID
Hi,
I just released a new version of an app that was transferred from another developer account.
The previous version of this app used the App Groups feature to store some important data, and I would like to retrieve that data.
In the new version, I’m using the same bundle identifier and the same App Group ID (which has already been deleted from the original developer account). I also added the App Groups entitlement in the project settings and set the same App Group ID. However, I still cannot access the data in the App Group.
From the documentation and issues I’ve found, it seems that an app should still have permission to access the same App Group after being transferred.
Did I miss something?
Thanks!
Topic:
Code Signing
SubTopic:
Entitlements
Tags:
Files and Storage
iOS
Entitlements
Provisioning Profiles
The problem is described in full with log output in #16844
We are having an issue with TCC prompting users for access to the app group container despite signing with entitlements following all guidelines.
This is a regression from the Feb 2025 Changes discussed in App Groups: macOS vs iOS: Working Towards Harmony
The problem can only be reproduced with Xcode 16.0 and later.
The entitlements for the app include access for the group container with
[Key] com.apple.security.application-groups
[Value]
[Array]
[String] G69SCX94XU.duck
The documentation notes the group name can be arbitrary, e.g. <team identifier>.<group name>. Cyberduck uses G69SCX94XU.duck by default. Interestingly enough the alert is not shown when a group name matching the bundle identifier is used, e.g. G69SCX94XU.ch.sudo.cyberduck.