Successfully received submission history.
history
......
--------------------------------------------------
createdDate: 2025-10-19T18:34:47.472Z
id: d3248896-7841-421e-9470-101df9d0da21
name: ...
status: In Progress
--------------------------------------------------
createdDate: 2025-10-19T18:12:45.325Z
id: e5822fa0-5bcf-4610-81fc-9f541e8ad189
name: ...
status: In Progress
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
Created
Hello,
We have a working application with several entitlements - com.apple.developer.endpoint-security.client and com.apple.developer.team-identifier.
Recently, the Developer ID signing certificate expired and we created a new one according to the instructions on the website. Also the provisioning profile for those entitlements expired so we edited it to use the new certificate.
We built using xcodebuild in a script and signed with codesign, We supply the certificate id and the entitlement in a plist file like this :
codesign --timestamp --force --sign "${application_signature}" --options=runtime "${obj}" --entitlements "${SR_ENTITLEMENT_PATH}"
(those env vars hold the correct values for the cert id and plist path as far as we checked).
The signing works and looks ok with "codesign -dvvv":
(XXXX replaces the real file name for privacy)
Signature size=9050
Authority=Developer ID Application: XXXXXX. (XXXXX)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=16 Oct 2025 at 11:09:53 AM
Info.plist=not bound
TeamIdentifier=XXXXX
Runtime Version=14.5.0
Sealed Resources=none
Internal requirements count=1 size=184
[Dict]
[Key] com.apple.application-identifier
[Value]
[String] XXXXX.com.XXXX.XXXX
[Key] com.apple.developer.endpoint-security.client
[Value]
[Bool] true
[Key] com.apple.developer.team-identifier
[Value]
[String] XXXXXX`
But when the app need to run it is killed and the console shows the following:
amfid: /private/tmp/XXXXX not valid: Error Domain=AppleMobileFileIntegrityError Code=-420 "The signature on the file is invalid" UserInfo={NSURL=file:///private/tmp/XXXXX, NSLocalizedDescription=The signature on the file is invalid} kernel: mac_vnode_check_signature: /private/tmp/CybereasonSensor: code signature validation failed fatally: When validating /private/tmp/XXXXX: Code has restricted entitlements, but the validation of its code signature failed.
We didn't change any code or build differently (it's done by a CI jenkins job.
So if the file is signed and the and has the entitlements why does it fail? what should be done?
Thanks,
Boaz
Topic:
Code Signing
SubTopic:
Entitlements
Hello,
I am new to the apple developer program. I, and my team, are working on porting some medical software that we have written from Windows to MacOS. We obviously want to notarize our app to make it easy for professionals and colleagues to use. The software is entirely written in python and includes ffmpeg for one of the features to export the medical data to video and compiled to a single file with pyinstaller, like so:
pyinstaller app_name.py --noconfirm --onefile --add-data "ffmpeg:ffmpeg"
chmod +x dist/app_name*
We are currently adding the signing and notarization of the app to our github workflow. The workflow build a successful app with the correct structure and is able to be run if we allow it past the MacOS firewall. We are signing the app like so:
run: |
BINARY_PATH="dist/app_name"
IDENTITY=$(security find-identity -p codesigning -v | grep -E 'Developer ID Application|Mac Developer' | head -n1 | awk -F\" '{print $2}')
echo "Using identity: $IDENTITY"
security unlock-keychain -p "" build.keychain
codesign --verbose=4 --force --options runtime --timestamp --entitlements .github/mac_build_tools/entitlements.plist --sign "$IDENTITY" "$BINARY_PATH"
codesign --verify --verbose=4 "$BINARY_PATH"
We then also move the binary around into an app structure and sign that as well like so
echo "Moving contents to SedPlot.app"
mkdir -p dist/app_name.app/Contents/MacOS
mv "$BINARY_PATH" dist/app_name.app/Contents/MacOS
cp .github/mac_build_tools/Info.plist dist/app_name.app/Contents
echo -n "APPL????" > dist/app_name.app/Contents/PkgInfo
echo "Signing App"
codesign --verbose=4 --force --options runtime --timestamp --entitlements .github/mac_build_tools/entitlements.plist --sign "$IDENTITY" dist/app_name.app
codesign --verify --verbose=4 dist/app_name.app
codesign --display --entitlements :- dist/app_name.app
If I upload the artifact and check its properties, everything looks good. It has the correct ID associated with it and shows as valid when I use codesign --verify on it. I start having issues when I move onto notarization, like so:
cd dist
echo "Zipping and checking the zip"
ditto -c -k --keepParent app_name.app app_name.zip
zipinfo -1 app_name.zip | head
echo "$AC_API_KEY" > AuthKey.p8
SUBMISSION_ID=$(xcrun notarytool submit app_name.zip \
--key AuthKey.p8 \
--key-id "$AC_KEY_ID" \
--issuer "$AC_ISSUER_ID" \
--team-id "TEAM_ID" \
--output-format json | jq -r '.id')
echo "Submitted notarization with ID: $SUBMISSION_ID"
All of the print statements for errors look good at this point, and the submission ID shows up in my history when I query it. However, all 7 attempts that I have made to notarize this app hang for indefinite amounts of time. We are hoping to submit our tool for publication soon, and it would be helpful to know if there is an issue causing the hang on our end or if this is an issue with new developers.
I have been reading around the forums and see some notes about this taking about a week until the system start to "learn" about our development team and our attempts to notarize. I also know that there is limited amounts that can be said about the backend of the notarizations step. What would be helpful is a few things:
I would like feedback about if there is a fundamental flaw in our approach for signing and notarizing our application, so that we can identify it.
I would appreciate some guidelines about how long to expect this notarization step to take until we can get notarization to finish within 10s of minutes, as we have a hard-coded 30 min wait time for the completion of the notarization in our workflow right now.
It would be helpful to know how to check our logs, as requesting the logs for any of our attempts results in being told that the logs are not available yet.
In case someone from apple is interested in this and wants to check, the most-recent submission ID (the one that I believe should be most-likely correct and valid) is 9ef24966-42a5-47db-a7e0-c6baf0310ac4
Thank you in advance!
I got an email with the subject "Action Needed: Developer ID Application Certificate Expires in 30 Days"
But on the cert page it's not exactly clear to my how to renew the cert or generate a new one.
Confused by the fact that I already have half a dozen ...somehow?
Any help or guidance appreciated.
Hi everyone,
I’ve just subscribed and configured my Apple Developer account.
I tried to notarize the first binary I need to distribute via Homebrew, but I’m experiencing an issue where the process has been stuck in “In Progress” status for more than 21 hours, without completing or returning any errors.
Here’s the relevant history:
createdDate: 2025-10-15T21:53:41.343Z
status: In Progress
Hi there,
I am trying to build the Apple SimpleAudioDriver example but fail with codesign and/or provisioning.
I would be ok for now with the local option, but XCode 16.4 doesn't show the option "build to run locally" (SIP is disabled).
When using "Automatically manage signing" it ends in a "Please file a bug report".
I found that having two different development teams tripped it up, so I deleted all certificates and keys and made sure to be only signed into one account in Xcode.
Can anyone give advice? Thanks a ton!
Here is the URL to the sample: https://developer.apple.com/documentation/coreaudio/building-an-audio-server-plug-in-and-driver-extension
macOS: 15.6.1
XCode: 16.4
Hardware: MacBook Pro M2 Max
SIP: disabled
Topic:
Code Signing
SubTopic:
Entitlements
I have added an in-app purchase function into my app, and have enabled in-app purchase profile in developer portal(it's on by default and is marked gray in developer portal, I don't know if that's how it supposed to look like). I have issued the agreements and tried signing the app both manually and automatically, but neither of that worked. App can be built successfully in simulator but does not show the simulation window, but cannot build on real device or archive.
Errors: Missing com.apple.developer.in-app-purchase,
com.apple.developer.in-app-purchase.non-consumable, and com.apple.developer.in-app-purchase.subscription entitlements.
Automatic signing failed
Xcode failed to provision this target.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
StoreKit
Entitlements
Provisioning Profiles
Signing Certificates
Hello everyone,
I'm facing a critical, blocking issue where my developer account (Team ID: K655PX7A46) is unable to generate a valid provisioning profile with the App Attest entitlement. I have confirmed this is a server-side issue and am hoping to get visibility from an Apple engineer who can investigate.
The Problem:
When I generate a provisioning profile for an App ID with the "App Attest" capability enabled, the resulting profile is defective. It is missing the required com.apple.developer.app-attest.environment key in its entitlements dictionary, causing Xcode to fail the build.
What I Have Proven:
The issue is not a misconfiguration. The App Attest capability is correctly enabled and saved on the App ID configuration page.
The issue is not isolated to one App ID. I created a brand new App ID from scratch, enabled the capability during creation, and the server still generates a defective profile with the same missing entitlement.
I have definitive proof by inspecting the downloaded .mobileprovision file. The contents confirm the required key is missing.
Steps to Reproduce on My Account:
Create a new App ID on the Developer Portal.
Enable the "App Attest" capability and save.
Generate a new "iOS App Development" provisioning profile for this App ID.
Download the profile and inspect its contents via security cms -D -i [profile].
Observe that the com.apple.developer.app-attest.environment key is missing.
The Evidence (Contents of the Defective Profile):
Here is the output from inspecting the profile for a brand new App ID (com.technology519.linksi.app2). As you can see, the correct entitlement is missing, and an incorrect devicecheck entitlement is present instead.
This is a critical bug in the provisioning profile generation service for my account that is blocking all development. I have already filed a support ticket (Case #102721408444) but have so far only received generic, unhelpful responses.
Can an Apple engineer please investigate this server-side issue with my account?
Thank you.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Entitlements
Signing Certificates
App Attest
Code Signing
I added a new device and it's not recognizing the device model. This causes a message saying "Unable to verify" when signing an app. Has anyone else encountered this issue? This only happens with this one device, not others.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
The problem is the following:
We create a keychain item called NotaryTool (There are multiple accounts that use Notary tool and we created it for all of them )
This is created in the following way:
$ xcrun notarytool store-credentials
This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.
Profile name:
NotaryTool
We recommend using App Store Connect API keys for authentication. If you'd like to authenticate with an Apple ID and app-specific password instead, leave this unspecified.
Path to App Store Connect API private key:
//AuthKey_ABCDEFGH.p8
App Store Connect API Key ID:
<ABCDEFGH>
App Store Connect API Issuer ID:
ABCDEF-ABCD-1234-1234-1234567
Validating your credentials...
Success. Credentials validated.
Credentials saved to Keychain.
To use them, specify `--keychain-profile "NotaryTool"`
The key is downloaded from Apple and some other IDs are provided alongside.
These should remain in the keychain for as long as the user process is running (just like any other process)
A few runs are successful when we run with the profile that was created.
After a few runs we start seeing a failure.
Now we are seeing the following issue where the keychain item just vanishes:
Error: No Keychain password item found for profile: NotaryTool\n\nRun 'notarytool store-credentials' to create another credential profile.\nError during the not process\nTue Aug 26 06:02:09 2025 Notarization failed with notarytool with exit code 17664: \nTue Aug 26 06:02:09 2025 could not upload for notarization!!!
Topic:
Code Signing
SubTopic:
Notarization
The Developer App Certificate is not trusted.
Topic:
Code Signing
SubTopic:
General
Hi everyone,
My app notarization has been stuck in the “In Progress” state for the past 4 days. Here are the details:
createdDate: 2025-10-12T07:56:46.228Z
id: 8f8c9a33-1c72-489e-a189-74c797a12fbc
name: DevScribe.zip
status: In Progress
I checked the Apple System Status
page and noticed that the Developer Notarization service has been showing an outage since October 8th.
Could this ongoing outage be the reason my notarization is stuck? Is anyone else experiencing the same issue?
Any guidance or workaround would be greatly appreciated.
I’m unable to notarize the executable and the .app — the status has been showing “In Progress” for over an hour. Upon checking the xcrun logs, it indicates that the submission ID was not received. I also noticed there’s an Apple Developer Service outage reported since October 8, 2025. Could you please let me know when this outage is expected to be resolved? It would be very helpful.
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?
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