I have been looking at a ways of doing dynamic certificate pinning to avoid publishing the app whenever a certificate is rotated or public key is changed.
Has anyone got any blog/github repo (ideally xamarin c#) on how to do it?
thanks
Related
I am trying to upload a bundle to I can do Closed Testing with app on my own devices. When I try to upload I am told that I need to opt-in to "Play App Signing":
When I try to upload a private key under App integrity I am being told "The private key doesn't match the current app certificate"
How do I fix this? I don't know where the "current app certificate" is or how I would generate/upload a new certificate.
The only way I could fix this problem was to rebuild the app with completely different package names. So I changed com.myapps.thisapp to com.myapps.thisapp2 and I was able to upload.
I guess whatever keys/certificates that were on my machine from 8 years ago were needed to upload a newer version of my app.
I am trying to publish an iPhone app on my Mac. When building the application, it asks me:
"codesign wants to sign using key "Ryan Rasmussen" in your keychain."
I think that Ryan Rasmussen is my key for my computer.
I think it is supposed to use one of the keys that I installed from iTunes connect for those users.
So when I use Application loader to try to upload the app, it doesn't like the certificate.
How do I get codesign to use the correct certificate?
It sounds like your AppStore build is picking up a development certificate. Make sure that your Release target is set to iOS Distribution.
If that doesn't fix the problem, you can explicitly select the correct distribution certificate in the same setting.
If you don't see the distribution certificate in the Code signing identity dropdown menu, check that the certificate is available in Keychain Access.app. If it isn't there, you need to double click the certificate in the finder to import it.
I am trying to distribute an app for a friend that has already created a distribution certificate on his mac, how do I upload the app for him, because every time I download the certificate it doesn't come with a key (the gray icon key). What do I do?I believe the gray key is the private key.
You need TestFlight. Register there, and send invitation to email of your friend. He will have to open the email in his device and follow instructions. After Your friend will register his device, it will be possible for him to download and install applications from TestFlight site.
The private key can't be downloaded. It has to be exported from the keychain of the Mac that was originally used to request the Certificate from Apple.
I know there are other questions that are very similar to this, but their symptoms aren't quite the same as mine.
I have an app that I've been trying to submit to the App Store. I was running Xcode 3.2.6, and I kept getting an Invalid Binary error from iTunes Connect. I eventually found an answer that points to upgrading Xcode, so I downloaded 4.2.
Now the problem is that Xcode won't recognize the distribution certificate that I used for the provisioning profile. I tried adding the profile and it gives the error message in the title. Also, if I try the Automatic Device Provisioning, the Distribution profile disappears completely.
This has been causing me some trouble for quite some time now. I know I have the Distribution certificate in my Keychain, so I think that Xcode is having a hard time seeing it for some strange reason. If you have an answer, please give it. If you need more info, go ahead and ask. I just need to find a solution...
EDIT:
I'm thinking of diving into the project file through text edit and manually adding the distribution profile. At the part that says PROVISIONING_PROFILE = "", what do I put between the quotation marks?
It sounds like you might not have the private key that you used to generate the certificate with Apple originally. If you have the private key installed when you open keychain access and click on certificates there would be a disclosure triangle you should be able to drop down and see the private key for that certificate like so:
If you don't have this key you need to delete the certificate you currently have, go to the iOS provisioning portal, revoke your current certificate and create a new one. The whole process shouldn't take more than 10 minutes.
I'm developing a small app on Xcode 4.2 in Lion to learn the basics of Mac development.
I've got a directory picker controller class as an NSOpenSavePanelDelegate, implementing the - panel:validateURL:error: method, where I'm attempting to make sure that the directory that the user chooses contains files of a certain type that the app supports.
I stumbled across this question here on SO, discovering that the delegate methods don't have access to the file system in sandboxed applications. This would be a problem for the aforementioned case.
Eager to learn more about this, I decided to try sandboxing the app to see what happens. I enabled entitlements and sandboxing for the build target in Xcode and then created a self-signed certificate for code signing in Keychain Access, following this tutorial. The certificate lives inside my login keychain.
The problem is, the freshly created certificate doesn't appear under the Build Settings -> Code Signing -> Code Signing Identity dropdown. The only thing that is there is "3rd Party Mac Developer Application", but the build fails with a code signing issue if that is selected.
Any ideas how I can get it to show up?
I just ran into the same issue. After Quitting and restarting Xcode, my own certificate showed up.