Whilst waiting for the company developer account I successfully notarised an app/pkg
On switching to the company account the app/pkg has been stuck in progress for over 2 days (see below)
The initial submission was via Xcode and later via command line.
The last one was when I updated bundle ids etc and built with Github Actions.
The initial submission did coincide with a service outage, however that is marked as resolved.
I would like to cancel all of them now that I have switched the signing account and the bundle ID but there seems no way to do this?
Thoughts and comments welcome.
Thanks
Paul
--------------------------------------------------
createdDate: 2025-08-14T11:03:24.837Z
id: edf215d0-4d15-4075-aa6f-4755a35b3d45
name: ZenityEndpointAgent.pkg
status: In Progress
--------------------------------------------------
createdDate: 2025-08-12T21:36:36.345Z
id: 9c98de09-d3aa-449b-ad47-7e721b0342c5
name: AIEdgeDeviceAgent.pkg
status: In Progress
--------------------------------------------------
createdDate: 2025-08-12T16:58:50.891Z
id: 9206f9be-0fc4-4c6c-aa66-8fcbe3332155
name: AIEdgeDeviceAgent.pkg
status: In Progress
--------------------------------------------------
createdDate: 2025-08-12T10:37:35.624Z
id: b20d1dd0-084e-441c-87a6-641fb088819e
name: AIEdge Device Agent.zip
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
Activity
Notarization Rejects Valid Developer ID Certificates - Apple Infrastructure Issue?
Environment
macOS: 15.6.1
Xcode: 26.0.1
Architecture: arm64 (Apple Silicon)
Team ID: W----------
Certificate Status: Valid until 2030 (verified on developer.apple.com)
Problem
Apple's notarization service consistently rejected properly signed packages with error:
"The binary is not signed with a valid Developer ID certificate."
Despite:
✅ Valid certificates on developer.apple.com
✅ Local signing succeeds (codesign --verify passes)
✅ Proper certificate/key pairing verified
✅ Package structure correct
Failed Submission IDs
September 2025:
adeeed3d-4732-49c6-a33c-724da43f9a4a
5a910f51-dc6d-4a5e-a1c7-b07f32376079
3930147e-daf6-4849-8b0a-26774fd92c3c
b7fc8e4e-e03c-44e1-a68e-98b0db38aa39
d7dee4a1-68e8-44b5-85e9-05654425e044
da6fa563-ba21-4f9e-b677-80769bd23340
What I've Tried
Re-downloaded fresh certificates from Apple Developer Portal
Verified certificate chain locally
Tested with multiple different builds
Confirmed Team ID matches across all configurations
Verified no unsigned nested components
Waited 3 months for potential propagation delays
Verified all agreements are current and accepted
Re-tested with minimal test package - same error persists
Local Verification
# Certificates present and valid
security find-identity -v -p codesigning | grep "Developer ID"
1) XXXXXXXXXX "Developer ID Application: <<REDACTED>> (W----------)"
2) XXXXXXXXXX "Developer ID Installer: <<REDACTED>> (W----------)"
# Signing succeeds
codesign --verify --deep --strict --verbose=2 [app] → Success
Question
This appears similar to thread #784184. After 3 months and ensuring all agreements are signed, the issue persists with identical error.
The certificates work for local signing but Apple's notarization service rejects them. Could this be:
Backend infrastructure issue with Team ID W----------?
Certificate not properly registered in Apple's notarization database?
Known issue requiring Apple Support intervention?
Has anyone else experienced valid Developer ID certificates being rejected specifically by the notarization service while working locally?
Topic:
Code Signing
SubTopic:
Notarization
Tags:
App ID
Notarization
Signing Certificates
Code Signing
The entire 'Certificates, IDs & Profiles' section is missing from developer.apple.com portal for one of the accounts I am a developer for. The Team is also missing from the dropdowns in Xcode in Code Signing. The organization account membership is paid through July 2026, and I do not see that the Account Holder needs to sign any agreements. I am a user on other accounts, and none of them have this issue. Does anyone know what's going on?
When building to macOS on GameMaker, I get the error "this identity cannot be used for signing code" when using the Developer ID Installer certificate. The certificate was neither expired nor revoked, but nonetheless I created new certificates to start fresh but am still getting that error. I don't get issues building to iOS via GameMaker, just to macOS.
If it makes any difference, I only noticed this issue started happening after I converted my Apple Developer Program account from an individual account to an organizational account, although it was weeks to months before I built to macOS via GameMaker before then, so I don't know if it correlates with that.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
My iOS app was created with a legacy Team ID in 2011. When I try to add an AppClip to the app, the Team ID on the AppClip is the new Team ID. Xcode prevents the build from completing.
The com.apple.developer.parent-application-identifiers entitlement (null) of an App Clip must match the application-identifier entitlement ('TYXXXXXP2.com.it-guy.MyApp') of its containing parent app.
How can this be resolved? Can the AppClip Team ID be changed in "Identifiers" on the developer.apple.com?
I’ve developed a macOS app, but I’ve had trouble using a script to fully codesign it and package it into a .dmg file. I was only able to complete codesigning using the third-party app itself—not via command-line scripts.
Is it possible to write a script that automates the entire process of codesigning the app?
To provide the best user experience for those downloading the app outside of the Mac App Store, is it correct to first package it as a .app and then wrap that into a .dmg file for distribution?
Currently, the app is available on the web as a .dmg. When downloaded, it appears in a folder and can be double-clicked to launch. However, macOS displays a warning that it was downloaded from the internet. Can I use a script to remove that quarantine warning?
If possible, I’d appreciate a step-by-step explanation and a sample command-line script to:
Codesign the app properly
Package it into a signed .dmg
Remove the quarantine attribute for local testing or distribution
Is the reason I was only able to codesign it inside the third-party app due to how that app was built, or can this always be done from the command line?
Topic:
Code Signing
SubTopic:
General
Hi there,
We've discovered a problem with our iOS app. We've been attempting to add a Driverkit driver to it, but any time we run the app through Testflight, the driver installs fine, but when we go to enable the driver toggle in the app's settings, the toggle stays on, but in the device logs I can see:
could not insert bundle at <private> into manager: <private>
As you would expect - this means the driver is not actually enabled and does not respond to a device being connected to the iPad.
This does not happen when building & running the app locally, nor does it happen when installing an Ad Hoc build.
We also have a different app, not yet shipped. We are able to add the driver to that app without issue. It works after going through Testflight.
What we have discovered now is that everything works fine even if we just create an entirely new app with it's own bundle IDs. I should point out that in all cases, we're keeping the capabilities the same for each of these apps/IDs - including the managed capabilities.
The bundle IDs that have this problem are older (5 years old or more). It seems like any newer ID will work, but trying to add the driver (and the associated managed capabilities) to an older app/ID results in this vague error message, with no further details.
If we inspect the resulting dexts, we can also see that the "Internal requirements code size" is different on the ones that fail. The failing ones have a size of 204 bytes, whereas the working ones all have a size of 220 bytes. Not sure if that's related but it's strikingly consistent.
Does this mean there is an issue with older app IDs, and we need Apple to manually refresh them in some way before the driverkit capabilities will work after going through Testflight? We have two apps in this state, both are of the same vintage (~5 years+).
We've been battling this issue for months on and off, so would appreciate some help.
In the LightweightCodeRequirements framework, there is a LaunchCodeRequirement object which can be used as a requirement object for a Process for example.
What I don't understand (I admit my macOS low-level knowledge is limited) is that how can this be used in a secure way that doesn't fall victim of a Time-of-Check/Time-of-Use issue.
e.g.
I specify a LaunchCodeRequirement via Process.launchRequirement for my process, let's say /usr/local/bin/mycommandlinetool.
The LaunchCodeRequirement specifies my development team and a developer ID certificate.
The process must be started in some form, before a SecCode/SecTask object can be created, rather than a SecStaticCode object (which only guarantees its validity checks to be intact as long as the file is not modified).
But if the process was started, then I have no tools in my set to prevent it from executing its initialization code or similar. Then, by the time I'm able to check via SecCode/SecTask functions the LaunchCodeRequirement, I might have already ran malicious code - if mycommandlinetool was maliciously replaced.
Or does the operating system use a daemon to copy the executable specified for Process to a secure location, then creates the SecStaticCode object, assesses the LaunchCodeRequirement and if passed, launches the executable from that trusted location (which would make sure it is immutable for replacement by malicious actors)?
I have a hard time understanding how this works under the hood - if I remember correctly these are private APIs.
I added a extension called Call Directory to an IOS app as we want to call blocking and caller id. I was able to add App Groups to both runner and CallDirectory. I cannot see of add Call Directory capability. Am I missing something. I added the extension through the Call Directory Target template. If I try to add this to CallDirectory.enitlements manually com.apple.developer.callkit.call-directory
call-blocking
caller-identification
i recieve this signing error. Provisioning profile "iOS Team Provisioning Profile: "" doesn't include the com.apple.developer.callkit.call-directory entitlement. I cannot add Call Directory to an identifier in Apple Developer either.
Yes, this is very likely the completely wrong way to do things but I would like to ask regardless.
Currently with windows/linux I can perform an in-situ upgrade of an application by performing a download of the binary 'foo' and then doing a rename-and-replace and subsequently requesting the licencee to restart the program and all is good.
With macOS, as the binary is within the foo.app ( Contents/macOS/foo ) I imagine I cannot perform a similar operation without breaking the signing of the foo.app itself?
....or, can I individually sign the binary foo for macOS and perform the same type of operation?
Download new foo as foo.new
rename current foo.app/Content/macOS/foo -> foo.old
rename foo.new -> foo
Restart application
Again, I know this is very likely an un-macOS way of performing the task but as you can imagine with supporting cross-platform development it's usually easier to maintain a consistent method even if it's "not ideal".
Topic:
Code Signing
SubTopic:
General
Thanks in advance for any hint to solve the following account problem:
I tried to store credentials for notarizing.
Presumably with the wrong combination of entries (similar to signing) – using the name of my university instead of my Apple Account.
xcrun notarytool store-credentials "notarytool-password" --apple-id "Berliner Hochschule fuer Technik" --team-id "8YAW3HL2QP" --password "my Apple-Account-pw"
.. retried assuming a syntax error (like missing ").
Got the error message:
This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.
Validating your credentials...
`Error: HTTP status code: 401. Your Apple ID has been locked. Visit iForgot to reset your account (https://iforgot.apple.com), then generate a new app-specific password. Ensure that all authentication arguments are correct.`
Happy to see: Signing is not affected and I still an can log in to my account on developer.apple.com. So notarizing “only” seems to be affected.
But how to reset the account to resolve the issue?
The iforgot.apple.com link does not help - I provided my iPhone-number but did not receive further messages – neither on the iPhone nor on my “developer” macbook.
Many thanks in advance
All the best
Florian
I am subscribed to an individual developer license.
https://developer.apple.com/documentation/xcode/configuring-network-extensions
"Network Extension" does not appear in the Capability section in Xcode. Below is my Xcode screenshot.
Hi there!
I have an issue with uploading a PKG installer to the MacOS AppStore.
Uploading with:
xcrun altool --upload-app -t macos -f $PKGPATH -u $DEVELOPER_ID -p $APP_SPECIFIC_PWD
results in error:
*** Error: Validation failed Invalid Provisioning Profile. The provisioning profile included in the bundle com.frogblue.frogCom [com.frogblue.frogCom.pkg/Payload/frogSIP.app] is invalid. [Missing code-signing certificate.] For more information, visit the macOS Developer Portal. (ID: fc4e5488-6d09-4ab2-b1f7-017a33c69723) (409)
Application seems to be correctly code signed with „3rd Party Mac Developer Application“ certificate.
codesign -dv --verbose=4 /Users/dietmar.finkler/Desktop/frogSIP/deploy/frogSIP.app
Identifier=com.frogblue.frogCom
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20500 size=266432 flags=0x10000(runtime) hashes=8315+7 location=embedded
VersionPlatform=1
VersionMin=720896
VersionSDK=918784
Hash type=sha256 size=32
CandidateCDHash sha256=923de799a54616706b76050b50b7ee6d59f8355a
CandidateCDHashFull sha256=923de799a54616706b76050b50b7ee6d59f8355a65aa7cce03e34bb2033da1e9
Hash choices=sha256
CMSDigest=923de799a54616706b76050b50b7ee6d59f8355a65aa7cce03e34bb2033da1e9
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=31604736
Executable Segment flags=0x1
Page size=4096
CDHash=923de799a54616706b76050b50b7ee6d59f8355a
Signature size=9109
Authority=3rd Party Mac Developer Application: frogblue TECHNOLOGY GmbH (UG2P6T5LNH)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Timestamp=26.02.2025 at 10:07:08
Info.plist entries=31
TeamIdentifier=UG2P6T5LNH
Runtime Version=14.5.0
Sealed Resources version=2 rules=13 files=1124
Internal requirements count=1 size=212
The PKG build with productbuild seems also be correctly code signed with„3rd Party Mac Developer Installer“ certificate.
pkgutil --check-signature /Users/dietmar.finkler/Desktop/frogSIP/frogSIP-1.2a2.pkg
Status: signed by a developer certificate issued by Apple (Development)
Certificate Chain:
1. 3rd Party Mac Developer Installer: frogblue TECHNOLOGY GmbH (UG2P6T5LNH)
Expires: 2026-02-25 17:17:54 +0000
SHA256 Fingerprint:
D1 9E AC 27 C7 26 F3 2E 1E F5 50 2C 7A 1B 1D FB 54 D6 17 C1 1C 58
C1 7E F8 87 B6 44 D1 49 17 DC
------------------------------------------------------------------------
2. Apple Worldwide Developer Relations Certification Authority
Expires: 2030-02-20 00:00:00 +0000
SHA256 Fingerprint:
DC F2 18 78 C7 7F 41 98 E4 B4 61 4F 03 D6 96 D8 9C 66 C6 60 08 D4
24 4E 1B 99 16 1A AC 91 60 1F
------------------------------------------------------------------------
3. Apple Root CA
Expires: 2035-02-09 21:40:36 +0000
SHA256 Fingerprint:
B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C
68 C5 BE 91 B5 A1 10 01 F0 24
KeyChain login items show both "3rd Party Mac Developer Application" and "3rd Party Mac Developer Installer“ certificates.
But checking with
security find-identity -v -p codesigning
shows only the "3rd Party Mac Developer Application“ certificate. "3rd Party Mac Developer Installer“ is missing.
I check also the entitlement in the app package, which looks ok for me.
codesign -d --entitlements :- /Users/dietmar.finkler/Desktop/frogSIP/deploy/frogSIP.app
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>com.apple.application-identifier</key><string>UG2P6T5LNH.com.frogblue.frogCom</string><key>com.apple.developer.aps-environment</key><string>production</string><key>com.apple.developer.associated-domains</key><array><string>applinks:go.dev.frogblue.cloud</string><string>applinks:go.test.frogblue.cloud</string><string>applinks:go.prod.frogblue.cloud</string></array><key>com.apple.developer.team-identifier</key><string>UG2P6T5LNH</string><key>com.apple.security.app-sandbox</key><true/><key>com.apple.security.cs.disable-library-validation</key><true/><key>com.apple.security.device.audio-input</key><true/><key>com.apple.security.device.camera</key><true/><key>com.apple.security.network.client</key><true/><key>com.apple.security.network.server</key><true/></dict></plist>
What I am missing?
Thanx for any hint!
Regards
Dietmar Finkler
I am using the xcrun notarytool submit --apple-id xxxxx@gmail.com --password xxxxx--team-id xxxxxx --output-format json --wait --no-progress /my/dmg/file
to notarize my DMG file. But it always gives me back the error,
Error: HTTP status code: 403. A required agreement is missing or has expired. This request requires an in-effect agreement that has not been signed or has expired. Ensure your team has signed the necessary legal agreements and that they are not expired.
I did log in my developer account and found no place to sign any agreement. Actually in the morning when I logged in the developer account, it indeed pop up the agreement for me to sign and I did sign it. But now it seems I don't have any more agreements to sign. So, any ideas about what I should do?
Topic:
Code Signing
SubTopic:
Notarization
mac .cer证书不能导出.p12证书
不知道那个步骤出错
Displaying attribute for a private key I see a number of applications that are allowed to access it without needing a password e.g. racoon; Keychain Access.app; Certificate Assitant.app etc..
I want to add /usr/bin/codesign to the list but the gui window that pops up when I click on + doesn't seem to allow me to do that :(
How do I do it please
Topic:
Code Signing
SubTopic:
General
Hello!
I've just recently discovered LaunchCodeRequirement API and I'm exploring how it works compared to existing alternatives available for macOS versions below 14.4.
Some questions I have with regards to safety of older and newer APIs examining the given example:
func runProcess(executableURL: URL) throws {
let process = Process()
process.executableURL = executableURL
if #available(macOS 14.4, *) {
process.launchRequirement = try LaunchCodeRequirement.allOf {
ValidationCategory(.developerID)
SigningIdentifier("some-signing-identifier")
TeamIdentifier("some-team-identifier")
}
} else {
try secStaticCodeCheckValidity(executableURL) // Point #1
}
do {
try process.run() // Point #2
if #available(macOS 14.4, *) {
// process.launchRequirement should take care of the process
// and kill it if launchRequirement constraint is not satisfied
} else {
try secCodeCheckValidity(process.processIdentifier) // Point #3
}
process.waitUntilExit()
} catch {
process.terminate()
throw error
}
// Point #4
guard process.terminationReason == .exit else {
throw SomeError()
}
}
let requirement =
"""
anchor apple generic
and identifier = "some-signing-identifier"
and certificate 1[field.1.2.840.113635.100.6.2.6]
and certificate leaf[field.1.2.840.113635.100.6.1.13]
and certificate leaf [subject.OU] = "some-team-identifier"
"""
func secStaticCodeCheckValidity(_ executableURL: URL) throws {
// Init SecStaticCode from `executableURL`
// Init SecRequirement from `requirement`
let flags = SecCSFlags(rawValue: kSecCSBasicValidateOnly)
guard SecStaticCodeCheckValidityWithErrors(code, flags, secRequirement, nil) == errSecSuccess else {
throw CodeSignError()
}
}
func secCodeCheckValidity(_ processIdentifier: Int32) {
// Init SecCode from `processIdentifier`
// Init SecRequirement from `requirement`
guard SecCodeCheckValidityWithErrors(code, [], secRequirement, nil) == errSecSuccess else {
throw CodeSignError()
}
}
Before macOS 14.4+ flow
There's still a small chance that between checking executable binary codesign requirement (Point #1) and launched process' one (Point #3) the binary could be replaced with something malicious and even get some CPU between Points #2 and #3 so technically it can't be 100% safe. Is that a correct statement? Any advices on making it safer?
macOS 14.4+ flow
Now let's see how launchRequirement is better. I guess initialized launchRequirement gets evaluated on running the process (Point #2).
What does it exactly check? Executable at URL before launching the process (as OnDiskConstraint) or launched process (as ProcessConstraint)?
Is there any chance the process gets some CPU before it's killed in case of failed codesign check?
Any way to distinguish between codesign requirement termination and other reasons at point #4? It returns SIGKILL (9) as terminationStatus but it's not precise enough to be sure it was killed due to failed requirement check. I guess newer SecStaticCodeCheckValidityWithOnDiskRequirement & SecCodeCheckValidityWithProcessRequirement are the same as SecStaticCodeCheckValidityWithErrors & SecCodeCheckValidityWithErrors but a little simpler and can't be used as a 'more secure' way of validating codesign requirement.
Thanks,
Pavel
Topic:
Code Signing
SubTopic:
General
Hi, I'm currently at 19 hours waiting for notarization. My dev account is new and this is the first time I'm submitting anything to be notarized. I've gathered from my research that this is normal (unfortunately). I figure the only thing I can do is wait, but is there any way for me to know if I'm waiting for a human to manually review it? I was going to file a support request, but I saw that they won't be responding to any support requests until after their Thanksgiving break, and I assume nobody is manually reviewing notary submissions for the next week+. I attached the submission below, thanks!
createdDate: 2025-11-21T21:17:10.082Z
id: c9746d42-1dc7-4641-aec1-62c6cedff1a2
name: ***********.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
I was trying to put my game to test flight. I would test features like ads and in-app-purchases, then put on the Appstore(release). The game already works on Ipad. For test flight, the "automatically manage signing" option was enabled. Then I pressed the "archive" button. Built succeeded. Then I clicked the distribute button. That time, I had an error. "Upload failed, Invalid signature, App is not properly signed". I researched, and found special characters in name, team name and address can make errors. My name, address and team name have special characters(turkish). If it will be resolved, I want to re-write(fix) my name, team name and address. I already tried to change my name, team name and address from apple developer website but failed. They are asking a document of my identity of my new name but I didn't changed my name and address. Overall, there aren't any other facts that cause this issue as I know. If I send my current, unchanged identity and home address, could they allow to change(fix) them?
On Console Log:
DangerNo.app/DangerNo:
ID : 6cfa13a9-685c-4df9-86dd-7506d67be8c5
DangerNo.app/Frameworks/UnityFramework.framework/UnityFramework:
ID : 2b63aacc-9caf-453c-913f-bae0db14d363
My App ID : 6744022885
Error : Invalid Binary rejection email indicating a corrupted code signature was detected.
Explanation :
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
I have built my application for arm and x64 so I have two files called DeepSkyStacker.app in different directories.
I have followed the instructions to notarise the arm version of the app, but an concerned about what I should do to notarise the other one - do I just zip that up and then run:
xcrun notarytool submit "DeepSkyStacker.zip" --keychain-profile "Notary Profile for DeepSkyStacker" --wait
xcrun stapler staple DeepSkyStacker.app
again or will that mess everything up?
Related to that can I use the Notary Profile I created for DeepSkyStacker to notarise other apps that are part of the same product (DeepSkyStackerLive and DeepSkyStackerCL)??
Thanks
David
Topic:
Code Signing
SubTopic:
Notarization