Firebase: Cannot upload production APNs certificate

36,214

Solution 1

Solved. The mistake I was making was that I was exporting the "private key" part of the certificate in Keychain Access instead of the "certificate" part. As soon as I re exported the .p12 using the correct row in the list - it worked.

Images to illustrate below credit iOS

Don't select & create private key for Production certificate

Correct method:

Directly select certificate & create production certificate

Solution 2

try this

make .csr file and download cert from developer.apple.com

while exporting select private key and certificate both at a same time and export to .p12 with any passphase.

upload tht .p12 file on firebase console.

Thanks

Solution 3

Don't select private ket in key chain, directly select certificate and create production certificate.

1) Don't select private ket in key chain.

enter image description here

2) Directly select certificate and create production certificate

enter image description here

Solution 4

I am facing the same problem and i have tried all above mentioned solution but nothing works for me than i delete certificate from keychain access and again download certificate and install it than export and try to upload it. It works for me.

Share:
36,214
Robbie Lewis
Author by

Robbie Lewis

Wordpress, WooCommerce, Magento, Swift, Android, PHP, MySQL, JS, HTML5

Updated on July 09, 2022

Comments

  • Robbie Lewis
    Robbie Lewis almost 2 years

    I am currently testing an app in TestFlight and need a production APNs certificate in order to test Notifications in Firebase.

    I have followed all of the steps in this video and successfully configured the development APNs certificate: https://www.youtube.com/watch?v=LBw5tuTvKd4

    I've also checked that my steps following the Firebase support guide. Although I note that the Apple Developer site has changed slightly since this guide was written: https://firebase.google.com/docs/cloud-messaging/ios/certs#configure_an_app_id_for_push_notifications

    I have generated a production APNs certificate at developer.apple.com using the same method as the development certificate but when I try to upload the .p12 file to Firebase, it gives me the following error:

    "The certificate environment did not match. Ensure that you got the right development or production APNS certificate."

    I'm definitely uploading a .p12 generated from a production APNS certificate, is there something else I need to do for a production certificate?

  • Ben Dubuisson
    Ben Dubuisson almost 8 years
    The doc specifically states to export the key though.
  • marco
    marco almost 8 years
    @BenDubuisson I am even convinced I read that you are supposed to export them together and whatnot. But this solved it. Thanks a bunch!
  • Ben Dubuisson
    Ben Dubuisson almost 8 years
    In my case I contacted support, they fixed something and I was able to upload it. Again I was exporting the private key which is what you are supposed to do...
  • majodi
    majodi over 7 years
    Same here, exporting the key like the doc says gave me the same error. But exporting the cert and use that solved it. So or the doc is wrong or something changed.
  • Chaohsiung  Huang
    Chaohsiung Huang over 7 years
    After trying hard to upload the certificate, I eventually click safari for the upload, it works. (Please don't revise my answer since the revision is totally different from my experience.)
  • Peter Lapisu
    Peter Lapisu about 7 years
    but you cannot export a p12, without the private key
  • Jayprakash Dubey
    Jayprakash Dubey almost 7 years
    You saved my day! I tried re-creates AppId, Certificate, Provision profile...but didn't worked. Finally, your fix helped me!
  • Jamshed Alam
    Jamshed Alam over 6 years
    I have added production file into firebase with private key. It's not working.
  • gagamil
    gagamil about 6 years
    For the development push notification I exported the private key. For production the certificate itself. At least I pointed to the certificate. Maybe there's something I don't get, but finally came to a positive outcome.
  • bibscy
    bibscy almost 6 years
    did you export the private key as p12 from keychain or ?
  • Parvesh chauhan
    Parvesh chauhan almost 6 years
    yes, I export the private key as .p12 from keychain
  • djanowski
    djanowski almost 6 years
    This is the right answer, going to suggest it gets incorporated to the accepted answer. Thank you.
  • djanowski
    djanowski almost 6 years
    You can't generate a p12 file selecting just the certificate. The right answer is to select both the private key and the certificate when exporting to p12.
  • vaibby
    vaibby over 5 years
    Kindly check my answer below @Robbie Lewis
  • Mike M
    Mike M over 5 years
    At least for the production cert, this did not work for me. I had to exclude the private key.
  • vaibby
    vaibby over 5 years
    it happened with me too. but then It did worked for me both in sandboxing and production. you might have done something differently. I made .p12 of sandbox and production both at a same time with same steps.
  • Mujahid Latif
    Mujahid Latif over 5 years
    Google should change their doc where they say expand the certificate .Mistakenly people export private key. It consumed my 2 hours solving this mess
  • Priyal
    Priyal over 4 years
    I cannot see export option without selecting the private key.
  • praveen seela
    praveen seela about 2 years
    didn't work for me.