You can now easily request access to managed capabilities for your App IDs directly from the new Capability Requests tab in Certificates, Identifiers & Profiles > Identifiers. With this update, view available capabilities in one convenient location, check the status of your requested capabilities, and see any notes from Apple related to your requests. Learn more about capability requests.
Certificates, Identifiers & Profiles
RSS for tagDiscuss the technical details of security certificates, identifiers, and profiles used by the OS to ensure validity of apps and services on device.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I work on an open source app called Meteorologist (https://sourceforge.net/projects/heat-meteo/). One of the sources the users are allowed to use is Apple's WeatherKit. The app is compiled by me and free to download by anybody.
My developer account has the free level of WeatherKit so 500,000 calls/month and every once in a while the app actually hits that limit, shutting that weather source/service down for the app.
Is there any way to ask users of the app to somehow get their own account (or already have a developer account) and can register their license so it doesn't all bump up against the one (my) "license"? If so, how would that be passed to WeatherKit?
The only thought I have is that they would need to compile the code on their own and sign their own copy.
Thanks for any and all feedback and thoughts.
Ed
How do you renew a "Developer ID Application" certificate?
Should there be a "renew" button on the expiration date?
Or can you renew it sooner?
Or are you required to create a new certificate?
Does this count against your limit of five Developer ID Application certificates?
I thought there was a way to renew it, but I don't see that option. I also couldn't find any Apple documentation about how to renew, only how to create and how there's a limit to how many you can create.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Code Signing
Developer ID
We have NFC capabilties enabled for our app ID - com.uob.mightyvn but our minimum deployment target is 15.0. We do not have an option deselect PACE from provisioning profile. Hence, the validation is failed for IPA.
Invalid entitlement for core nfc framework. The sdk version '18.2' and min OS version '15.0' are not compatible for the entitlement 'com.apple.developer.nfc.readersession.formats' because 'NDEF is disallowed'
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Provisioning Profiles
Core NFC
Code Signing
I am on a mission to secure our key material for our iOS app's code signing certificate.
My first endeavor with storing the code signing certificate on a YubiKey is a marginal success - it seems that with a pin policy that requires entering the PIN at least once we must enter the PIN umpteen times per build. Creating a certificate with a policy of never would be ill-advised.
On the other hand, we could chose to store the code signing certificate in the Secure Enclave. However, it seems that I am only allowed to create eliptic curve private keys and not RSA keys in the secure enclave. When I attempt to upload a certificate signing request to AppStoreConnect, I am told that only an RSA2048 key will do.
What I am after is a way to authenticate access to the certificate once per boot so that we can make multiple builds per day without manual intervention whilst also ensuring that the key material is not stored on disk. A yubikey would be preferable, but I am fine with the secure enclave if need be. Is there a way to achieve this?
Best regards,
Emīls
Original Problem
We use codesign and notarytool in a scripted environment to build and distribute binaries daily. We also do manual builds by logging into the build server using SSH. This has been working for many years, but after updating to a new "Developer ID Application" certificate, codesign was failing with errSecInternalComponent and the console logs showed errSecInteractionNotAllowed.
Summary of Resolution
Attempting to fix the problem resulted in multiple copies of the same Certificate which were NOT shown by Keychain Access. I had to run security delete-identity multiple times to clear out the redundant Identities and then imported the certificate using the security CLI tool.
Details
I originally followed these instructions for requesting and installing a new certificate:
https://developer.apple.com/help/account/certificates/create-developer-id-certificates/
Tip: Use the security tool intead
These instructions fail to mention two critical points: 1) they assume the machine you generate the request on is the same machine you will be using to perform signatures, and 2) KeyChain Access does not allow you to set permissions for applications like codesign. I made the mistake of following the instructions on my workstation, and then tried to import the certificate to the build machine by double clicking on the .cer file.
When that did not work, I followed various forum suggestions and eventually realized I need to export the private key as a .p12 file from the workstation, and import it into the build machine.
Tip: The term "Certificate" often refers to a public certificate by itself, while "Identity" to refers to the combination of a public certificate and private key.
At this point, I could use codesign, but only within Terminal.app while logged into the build machine's console. I tried various security commands to reimport the Identity, set a key partition list, and unlock the keychain, but none of them allowed codesign to work from within SSH or cron scripts.
Eventually I stumbled upon this:
sudo security find-identity -v
Password:
1) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
2) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
3) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
4) EA377…96DD "Developer ID Application: Data Expedition, Inc. (VK…8X)"
5) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
6) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
7) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
8) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
9) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
10) 3C255…1560 "Developer ID Application: Data Expedition, Inc. (VK…8X)"
10 valid identities found
Keychain Access only showed one copy of the Identity in each keychain, but with security I could see there were actually 9.
Tip: Keychain Access does not accurately display keychain contents. If it shows no contents at all, type a letter in the search box. Identities are distinguished from lone Certificates by a drop-down caret to the left of the certificate name. Clicking that shows the key.
To fix the redundant Identities, I had to run this command four times to delete the nine copies:
security delete-identity -Z 3C255…1560
I repeated this until the identity (I used the SHA1 hash of the certificate) no longer showed up in security find-identity -v.
I then re-imported the certificate and key using security import, which is what I should have done from the begininng.
The Correct Way
Here are the commands I used to get things going after I deleted all the problem certificates:
security import mycertificate.cer -k /Library/Keychains/System.keychain -T /usr/bin/codesign
This next command I ran in Terminal.app on the console so it could display a password prompt:
security import ImportThisKey.p12 -k /Library/Keychains/System.keychain -T /usr/bin/codesign
After this, I used security find-identity -v to verify that there was only one copy of the Identity. I then verified that codesign could be used from SSH and cron-scripts even while logged out of the console.
I suspect that a lot of mysterious certificate problems might be caused by duplicate certificates, each with different permissions. As far as I can tell, there is no way to uniquely identify a certificate/identity or the permissions attached to them. The system just searches based on hash, or team-id, or other non-unique property and seems to just arbitrarily pick one.
I hope this helps someone else stuck with errSecInternalComponent errors!
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Signing Certificates
Code Signing
My provisioning profile isn't installing when I double-click it on my MacBook.
Also no profile on this path ~/Library/MobileDevice/Provisioning Profiles. just empty folder
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Certificate Details
Certificate Name
Expro International Group Ltd
Certificate Type
iOS Distribution
Expiration Date
2029/02/11
Created By
Thavaseelan Kudarsamy
Enabled Capabilities
iCloud, In-App Purchase, Personal VPN, Push Notifications
App ID
ESTSMobile (com.exprogroup.estsmobile)
This profile is not installing.
I double-click it, and it doesn't install. I drag it to the provisioning profile folder, and it gets deleted immediately. It's an Apple Developer problem. I've already wiped my Mac clean twice and reinstalled everything, and I'm still having this problem.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Health and Fitness
Provisioning Profiles
I am trying to sign my Mac app to use Network Extensions capability. But every time I create a profile it displays that to me:
on the other hand on the website it displays this to me:
When completing signing on Xcode, it shows the following error message "No certificate for team '' matching 'Developer ID Application' found"
I have already followed the steps to generate a certificate from keychain and made a new certificate on developer portal, along with its associated provisioning profile.
Viewing "Manage Certificate" window shows the newly created certificate, but Xcode seems to not be able to locate it.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode
Signing Certificates
Code Signing
I'm trying to enable Music Kit for my key however I keep seeing this message "There are no identifiers available that can be associated with the key" even though my identifier has music kit enabled. Can someone help out with this?
i am creating a app on "appmysite" while it runs its build test an error message pops up saying build failed. "it seems your app build has encountered an issue. the certificate used to generate the uploaded provisioning profile does not match the uploaded certificate." I understand why its saying it because the uploaded certificate had to be uploaded as ".p12". The certificate in the provisioning profile is made of ".cert". I am using a apple mac book and a xenovo windows computer. Im simply trying to figure out how to put the ".p12" certificate into the provisioning profile? whenever i go to my developer account and try to create a new provisioning account with the new ".p12" certificate. The only options that pop up for me to select are only the certificates that are in ".cert" form. I've tried exporting through "key access" and they show up in my files but no way to transfer to my developer account to combine it with a provisioning account. Any help is greatly appreciated, this is literally the only thing keeping my app from being ready for submission to review. ive been stuck on this for 3 days.
I was reading a tutorial for obtaining an Apple Developer ID Installer certificate in order to distribute my .pkg outside the Mac App Store. However in the Certifcates/add page I'm am unable to see the required certificate (Developer ID Installer). Do I need to get some extra permissions to view this option or was it removed/moved to somewhere else?
Dears, this is my first ever piece of code on Mac. I wanted to try ShazamKit. I created App Id and enabled App Service ShazamKit. I properly configured my app (a very small test app) with the proper boundle id, Team and entitlements file. I keep receiving this error in the Signing in section:
Automatic signing failed
Xcode failed to provision this target. Please address the following issues preventing automatic signing from creating a valid profile.
Entitlement com.apple.developer.shazamkit not found and could not be included in profile. This likely is not a valid entitlement and should be removed from your entitlements file
I noticed the message is mentioning "profile"...does it refer to a "Profile" as in "Certificate"/"Identifiers"/"Devices"/"Profiles"/"Keys"/"Services" option? I did not create any "Profile". I just enabled the App Service under "Certificates, Identifiers & Profiles"=>"Identifiers"=>"Edit your App ID Configuration"=>"App Services"
Thx!
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
base" : 6481543168,
"size" : 5134811136,
"uuid" : "7bc5af5f-1e86-3b36-9036-16025c72cb70"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)\nWritable regions: Total=28.8M written=369K(1%) resident=369K(1%) swapped_out=0K(0%) unallocated=28.5M(99%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nAttributeGraph Data 1024K 1 \nCoreAnimation 48K 3 \nDispatch continuations 6144K 1 \nFoundation 16K 1 \nKernel Alloc Once 32K 1 \nMALLOC 16.8M 10 \nMALLOC guard page 3760K 4 \nSTACK GUARD 64K 4 \nStack 2640K 4 \n__AUTH 3975K 362 \n__AUTH_CONST 60.1M 643 \n__CTF 824 1 \n__DATA 28.6M 604 \n__DATA_CONST 24.9M 650 \n__DATA_DIRTY 4800K 581 \n__FONT_DATA 2352 1 \n__INFO_FILTER 8 1 \n__LINKEDIT 188.3M 7 \n__OBJC_RO 84.3M 1 \n__OBJC_RW 3177K 1 \n__TEXT 839.6M 666 \n__TPRO_CONST 128K 2 \nmapped file 32.7M 3 \npage table in kernel 369K 1 \nshared memory 80K 4 \n=========== ======= ======= \nTOTAL 1.3G 3558 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"logWritingSignature" : "96bc482de9d7d2e828b9b488a2feab6193d3c188",
"bug_type" : "309",
"roots_installed" : 0,
"trmStatus" : 1,
"trialInfo" : {
"rollouts" : [
],
"experiments" : [
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Watch Connectivity
SCSIControllerDriverKit
Hi,
My certificates expired and I created new ones.
But now Xcode shows me in Apple Accounts status of Mac App Distribution that the Missing Private...
Howto fix the missing private key?
I need to sign a .pkg for upload with Transporter.
Further I generated a CSR for App License Delivery ALD certificates.
https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request/
And with App Store Connected I created new certificates.
In Xcode I had to remove the Apple Account and add it again, after altering currency. This procedure was described somewhere because Xcode was not able to connect my account. This is fixed now.
We have a command line script that runs xcodebuild to make an archive, then runs xcodebuild again to export the archive to make an ipa, and then runs "altool --validate-app" to check that everything will be fine for a subsequent upload to the app store. This has been working fine for a few years but recently stopped working and we cannot figure out why.
The validation fails with this error:
ERROR: [altool.105912F20] Validation failed (409) Invalid Provisioning Profile. The provisioning profile included in the com. bundle [Payload/.app] is invalid. [Missing code-signing certificate]. A distribution provisioning profile should be used when uploading apps to App Store Connect. (ID: )
The project is configured with 'Automatically manage signing' unchecked, and the profile was created on developer.apple.com/account/resources/profiles and the matching profile magically appears in the "Provisioning Profile" drop down in Xcode.
The profile was created with two certificates checked, but examining the embedded.mobileprovision profile that ends up in the compiled ipa payload it appears to contain 19 certificates (probably all of them for this org?).
Is there a way to find out which certificate is missing exactly? And once identified is it a case of adding it to the profile used during compilation to fix this?
Ancillary question: why does the embedded.mobileprovision file contain so many certificates, and how does xcodebuild decide which ones it includes there?
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
I can't upload my macOS app to app store connect.
Each time i try to upload, i see this message:
Provisioning profile failed qualification
Profile doesn't support App Groups.
An empty app without an app group uploads fine, but if i add an app group to it, it does not upload.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Entitlements
Notarization
Signing Certificates
Code Signing
Hello!
I need help with the following issue.
I can't create a provisioning profile.
The following error message appears:
The following devices are either already present and have not been modified, or they contain invalid identifiers.
I'm a beginner and have been struggling with this issue for a month and a half.
Any help would be appreciated.
I am a developer with the following roles:
Apple Developer Team = admin
Using expo & EAS to build & sign = developer
We are running a new project so credentials need to be sync'd up. With EAS i can either upload a p12 or use the automatic app signing credentials.
I have successfully run this in other projects including another where I am the account owner/holder.
For this new project, however, I am not the owner. When I try to "register bundle identifier" it results in:
Error: Apple 403 detected - Access forbidden.
This request is forbidden for security reasons - You currently don't have access to this membership resource.
> eas credentials
✔ Select platform › iOS
✔ Which build profile do you want to configure? › preview
✔ Using build profile: preview
If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the missing values manually and we can only run minimal validation on them.
✔ Do you want to log in to your Apple account? … yes
› Log in to your Apple Developer account to continue
✔ Apple ID: … myemail@gmail.com
› Restoring session /Users/me/.app-store/auth/myemail@gmail.com/cookie
✔ Select a Team › My Project Team - Company/Organization (XXXXX)
› Provider My Project Team LLC (XXXXX)
✔ Logged in Local session
iOS Credentials
Project @team/my-app
Bundle Identifier com.teambundle.dev
No credentials set up yet!
✔ What do you want to do? › Build Credentials: Manage everything needed to build your project
iOS Credentials
Project @team/my-app
Bundle Identifier com.teambundle.dev
No credentials set up yet!
✔ What do you want to do? › All: Set up all the required credentials to build your project
✖ Failed to register bundle identifier com.teambundle.dev
Error: Apple 403 detected - Access forbidden.
This request is forbidden for security reasons - You currently don't have access to this membership resource. Contact your team's Account Holder, MY MANAGER, or an Admin.
Cryptic error? [Learn ](https://github.com/expo/fyi/blob/main/cryptic-error-eas.md)
Why am I getting a 403?
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles