Firebase: Cannot upload production APNs certificate
C

8

56

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?

Charry answered 13/6, 2016 at 9:53 Comment(1)
I got same error while uploading development.p12 file in production certificate. So, Please check once your p12 is for production or not and then upload it in production.Frear
C
184

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

Charry answered 13/6, 2016 at 10:3 Comment(13)
The doc specifically states to export the key though.Rheumatic
@BenDubuisson I am even convinced I read that you are supposed to export them together and whatnot. But this solved it. Thanks a bunch!Traci
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...Rheumatic
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.Achlorhydria
but you cannot export a p12, without the private keyNodab
You saved my day! I tried re-creates AppId, Certificate, Provision profile...but didn't worked. Finally, your fix helped me!Smoot
I have added production file into firebase with private key. It's not working.Linalool
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.Frumpish
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.Siva
Kindly check my answer below @Robbie LewisDoodle
Google should change their doc where they say expand the certificate .Mistakenly people export private key. It consumed my 2 hours solving this messGally
I cannot see export option without selecting the private key.Barry
didn't work for me.Unsatisfactory
D
11

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

Doodle answered 26/4, 2018 at 11:46 Comment(3)
This is the right answer, going to suggest it gets incorporated to the accepted answer. Thank you.Siva
At least for the production cert, this did not work for me. I had to exclude the private key.Laze
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.Doodle
S
4

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

Solan answered 21/1, 2019 at 12:41 Comment(0)
C
2

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.

Clear answered 25/5, 2017 at 6:53 Comment(2)
did you export the private key as p12 from keychain or ?Keratogenous
yes, I export the private key as .p12 from keychainClear
B
0

When I tried the solution suggested here, nothing works (This probably means I am doing right). I solved this issue by replacing Chrome (The application is running for a very long time) with Safari (I invoke the application just for this purpose) for the upload.

That means, if restart Chrome might also work.

FYI.

Burnette answered 13/9, 2016 at 11:15 Comment(1)
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.)Burnette
G
0

In my case I wanted to upload a production certificate to Firebase, and after trying everything I finally realized that I had created a development certificate on iOS Developer...

Glutenous answered 26/10, 2017 at 8:14 Comment(0)
K
0

There might be an inssue of semantics in some cases, so pay attention to meaning.
When you have to upload the certificates in firebase console there are 2 boxes with placeholder text which read:
1. No development APNs certificate
2. No production APNs certificate

In my case, I had understood that I must not upload a development APNs certificate in box 1. Actually, firebase meant that no development Apns certificate has been uploaded yet and that I could upload my certificate.

Keratogenous answered 14/5, 2018 at 8:57 Comment(0)
H
0

I was having this problem after my previous p12 had expired, I was trying to upload as a new certificate and was getting the “does not match the current environment” error but it uploaded fine once I updated the expired p12 with the new p12 instead of trying to upload the new one alongside the expired one.

Hawger answered 7/8, 2020 at 3:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.