Hasilkan file .pem yang digunakan untuk mengatur Pemberitahuan Push Apple

290

Saya mencoba dan mencoba membuat file .pem, setiap kali menghasilkan sertifikat dari akun klien dan kemudian menghasilkan file .pem menggunakan terminal, tetapi tidak ada gunanya. Adakah yang bisa memberikan prosedur langkah demi langkah?

Harsh Parikh
sumber

Jawaban:

936

Untuk mengaktifkan Pemberitahuan Push untuk aplikasi iOS Anda, Anda harus membuat dan mengunggah Sertifikat Pemberitahuan Push Apple (file .pem) kepada kami sehingga kami akan dapat terhubung ke Apple Push Server atas nama Anda.

( Versi terbaru dengan tangkapan layar yang diperbarui di sini )

Langkah 1: Masuk ke Portal Penyediaan iOS, klik "Sertifikat" pada bilah navigasi kiri. Kemudian, klik tombol "+".

masukkan deskripsi gambar di sini

Langkah 2: Pilih opsi Apple Push Notification service SSL (Production) di bagian Distribution, lalu klik tombol "Continue".

masukkan deskripsi gambar di sini

Langkah 3: Pilih ID Aplikasi yang ingin Anda gunakan untuk aplikasi BYO Anda (Cara Membuat ID Aplikasi), lalu klik "Lanjutkan" untuk pergi ke langkah berikutnya.

masukkan deskripsi gambar di sini

Langkah 4: Ikuti langkah-langkah "Tentang Membuat Permintaan Penandatanganan Sertifikat (CSR)" untuk membuat Permintaan Penandatanganan Sertifikat.

masukkan deskripsi gambar di sini

Untuk melengkapi instruksi yang diberikan oleh Apple. Berikut adalah beberapa tangkapan layar tambahan untuk membantu Anda menyelesaikan langkah-langkah yang diperlukan:

Langkah 4 Screenshot Tambahan 1: Navigasikan ke Asisten Sertifikat Akses Keychain di Mac Anda.

masukkan deskripsi gambar di sini

Langkah 4 Tangkapan Layar Tambahan 2: Isi Informasi Sertifikat. Klik Lanjutkan.

masukkan deskripsi gambar di sini

Langkah 5: Unggah file ".certSigningRequest" yang dihasilkan di Langkah 4, lalu klik tombol "Buat".

masukkan deskripsi gambar di sini

Langkah 6: Klik "Selesai" untuk menyelesaikan pendaftaran, Halaman Portal Penyediaan iOS akan di-refresh yang terlihat seperti layar berikut:

masukkan deskripsi gambar di sini

Kemudian Klik tombol "Unduh" untuk mengunduh sertifikat (file .cer) yang baru saja Anda buat. - Klik dua kali file yang diunduh untuk menginstal sertifikat ke Akses Keychain di Mac Anda.

Langkah 7: Di Mac Anda, buka "Keychain", cari sertifikat yang baru saja Anda instal. Jika tidak yakin sertifikat mana yang benar, itu harus dimulai dengan "Apple Push IOS Production Services:" diikuti oleh bundel ID aplikasi Anda.

masukkan deskripsi gambar di sini

Langkah 8: Perluas sertifikat, Anda harus melihat kunci pribadi dengan nama atau nama perusahaan Anda. Pilih kedua item dengan menggunakan tombol "Pilih" pada keyboard Anda, klik kanan (atau cmd-klik jika Anda menggunakan mouse tombol tunggal), pilih "Ekspor 2 item", seperti Di Bawah ini:

masukkan deskripsi gambar di sini

Kemudian simpan file p12 dengan nama "pushcert.p12" ke Desktop Anda - sekarang Anda akan diminta untuk memasukkan kata sandi untuk melindunginya, Anda bisa mengklik Enter untuk melewati kata sandi atau memasukkan kata sandi yang Anda inginkan.

Langkah 9: Sekarang bagian yang paling sulit - buka "Terminal" di Mac Anda, dan jalankan perintah berikut:

cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

Langkah 10: Hapus pushcert.p12 dari Desktop untuk menghindari salah mengunggahnya ke Build Your Own area. Buka "Terminal" di Mac Anda, dan jalankan perintah berikut:

cd
cd Desktop
rm pushcert.p12

Langkah 11 - PEMBARUAN AWS ​​BARU: Buat yang baru pushcert.p12untuk dikirimkan ke AWS SNS. Klik dua kali pada yang baru pushcert.pem, lalu ekspor yang disorot hanya pada hijau.

masukkan deskripsi gambar di sini Kredit: pembaruan baru AWS

Sekarang Anda telah berhasil membuat Apple Notification Certificate (file .p12)! Anda perlu mengunggah file ini ke area Build Your Own kami nanti. :)

Ravi_Parmar
sumber
11
Sepertinya ini sekarang Anda dapat mengekspor langsung dari Keychain ke file PEM (langkah 8-10).
Kyle Clegg
10
@KyleClegg: bagaimana?
eugene
3
Apa area "Bangun Sendiri" dan mengapa kita harus mengunggah file pem itu?
Rafi
1
mengapa semua jawaban ini di internet mengabaikan pertanyaan sebenarnya yang terus-menerus ditanyakan tentang apa 'Membangun Sendiri' itu? Di mana Anda mengunggah PEM ini jika menggunakan Xcode?
RobertyBob
1
Dalam kasus saya, saya perlu membuat dua file pem dari p12 cert. Hanya ekspor cert dan file kunci masing-masing di akses gantungan kunci daripada mengekspor 2 item bersama. Tapi jawaban ini pasti luar biasa!
wei
79

Ada solusi yang lebih sederhana hari ini - pem . Alat ini membuat hidup lebih mudah.

Misalnya, untuk membuat atau memperbarui sertifikat pemberitahuan push Anda cukup masukkan:

fastlane pem 

dan itu dilakukan dalam waktu kurang dari satu menit. Jika Anda membutuhkan sertifikat kotak pasir, masukkan:

fastlane pem --development

Dan itu cukup.

mikejd
sumber
9
Dan tidak hanya PEM. Seluruh alat fastlane benar-benar brilian
Benjamin
Apakah ini juga tersedia untuk sistem non-apel?
dua kali
@KrauseFx, jika saya menghasilkannya melalui pem, bagaimana cara mendapatkannya ditampilkan di sini: developer.apple.com/account/ios/certificate ? Saya menemukan ini cukup berguna untuk melihat tanggal kedaluwarsa dll? Apakah ini sesuatu yang terjadi secara otomatis?
IonicBurger
1
@Nikola Tidak diperlukan tindakan di iTunes Connect, Anda dapat menggunakan file pem itu segera
KrauseFx
1
@ mikejd kita tidak perlu menentukan p12 mana yang harus digunakan untuk pem?
Maulik
10
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Ahmed Abdallah
sumber
Apakah ini berhasil? Saya membuat file PEM pada windows 10 menggunakan metode ini, tetapi saya mendapat "Tidak dapat terhubung ke 'ssl: \ / \ / gateway.sandbox.push.apple.com" ketika saya menggunakan pem yang dihasilkan untuk mengirim pemberitahuan push.
Arivan Bastos
3

Apple telah mengubah nama sertifikat yang dikeluarkan. Anda sekarang dapat menggunakan sertifikat yang sama untuk pengembangan dan produksi. Meskipun Anda masih dapat meminta sertifikat pengembangan saja, Anda tidak dapat lagi meminta sertifikat hanya produksi.

silakan lihat di bawah screnshot

Hardik Bar
sumber
1

itu sangat sederhana setelah mengekspor Cert.p12 dan key.p12, Silakan temukan perintah di bawah ini untuk menghasilkan file .pem 'apns'.

https://www.sslshopper.com/ssl-converter.html

command to create apns-dev.pem from Cert.pem and Key.pem

    

openssl rsa -in Key.pem -out apns-dev-key-noenc.pem

    

cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem

Perintah di atas berguna untuk Sandbox dan Produksi.

Ilesh P
sumber
1

Menurut Troubleshooting Push Certificate Problems

Sertifikat SSL yang tersedia di akun Program Pengembang Apple Anda berisi kunci publik tetapi bukan kunci pribadi. Kunci pribadi hanya ada di Mac yang membuat Permintaan Penandatanganan Sertifikat yang diunggah ke Apple. Kunci publik dan pribadi diperlukan untuk mengekspor file Privacy Enhanced Mail (PEM).

Kemungkinannya adalah alasan Anda tidak dapat mengekspor PEM yang berfungsi dari sertifikat yang diberikan oleh klien adalah karena Anda tidak memiliki kunci pribadi. Sertifikat tersebut berisi kunci publik, sedangkan kunci pribadi mungkin hanya ada pada Mac yang menciptakan CSR asli.

Anda dapat:

  1. Cobalah untuk mendapatkan kunci pribadi dari Mac yang awalnya menciptakan CSR. Mengekspor PEM dapat dilakukan dari Mac itu atau Anda dapat menyalin kunci privat ke Mac lain.

atau

  1. Buat CSR baru, sertifikat SSL baru, dan kali ini buat cadangan kunci pribadi.
quellish
sumber
0

Terima kasih! untuk semua jawaban di atas. Saya harap Anda memiliki file .p12. Sekarang, buka terminal, tulis perintah berikut. Atur terminal ke jalur tempat Anda meletakkan file .12.

$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK

Sekarang file .pem Anda dibuat.

Verifikasi file .pem Pertama, buka .pem di editor teks untuk melihat kontennya. Konten sertifikat harus dalam format seperti yang ditunjukkan di bawah ini. Pastikan file pem berisi konten Sertifikat (dari BEGIN CERTIFICATE hingga END CERTIFICATE) serta Certificate Private Key (dari BEGIN PRIVATE KEY hingga END PRIVATE KEY):

> Bag Attributes
>     friendlyName: Apple Push Services:<Bundle ID>
>     localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
> 
> <Certificate Content>
> 
> -----END CERTIFICATE----- Bag Attributes
>     friendlyName: <>
>     localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
> 
> <Certificate Private Key>
> 
> -----END PRIVATE KEY-----

Juga, Anda memeriksa validitas sertifikat dengan pergi ke SSLShopper Sertifikat Decoder dan paste Konten Sertifikat (dari BEGIN SERTIFIKAT ke END SERTIFIKAT) untuk mendapatkan semua info tentang sertifikat seperti yang ditunjukkan di bawah ini:

masukkan deskripsi gambar di sini

Gurjinder Singh
sumber