57

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?

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. Commented Jun 17, 2016 at 6:15

8 Answers 8

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

Sign up to request clarification or add additional context in comments.

13 Comments

The doc specifically states to export the key though.
@BenDubuisson I am even convinced I read that you are supposed to export them together and whatnot. But this solved it. Thanks a bunch!
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...
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.
You saved my day! I tried re-creates AppId, Certificate, Provision profile...but didn't worked. Finally, your fix helped me!
|
12

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

3 Comments

This is the right answer, going to suggest it gets incorporated to the accepted answer. Thank you.
At least for the production cert, this did not work for me. I had to exclude the private key.
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.
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

Comments

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.

2 Comments

did you export the private key as p12 from keychain or ?
yes, I export the private key as .p12 from keychain
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.

1 Comment

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.)
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...

Comments

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.

Comments

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.