Bisakah saya menggunakan .p12 untuk apns dan bukan .pem?
Gajendra K Chauhan
Definisi FYI .pem: serverfault.com/a/21158/193377 PEM sendiri bukan sertifikat, itu hanya cara penyandian data. .... aman untuk ditempel ke badan pesan email karena memiliki garis jangkar dan bersih 7-bit.
AnneTheAgile
Jawaban:
365
Inilah yang saya lakukan, Dari: blog.boxedice.com dan "iPhone Advanced Projects" bab 10 oleh Joe Pezzillo.
Dengan aps_developer_identity.cer di gantungan kunci:
Luncurkan Akses Rantai Kunci dari Mac lokal Anda dan dari rantai masuk, filter berdasarkan kategori Sertifikat. Anda akan melihat opsi yang dapat diperluas yang disebut "Layanan Pengembangan Apple"
Klik kanan pada “Layanan Push Pengembangan Apple”> Ekspor “Layanan Push Pengembangan Apple ID123 ″. Simpan ini sebagai apns-dev-cert.p12file di suatu tempat Anda dapat mengaksesnya. Tidak perlu memasukkan kata sandi.
Perintah selanjutnya menghasilkan sertifikat dalam Terminal Mac untuk format PEM (Sertifikat Keamanan Email Ditingkatkan Privasi):
Saya telah mengikuti langkah-langkah di atas dan sekarang berfungsi. Saya telah menyimpan sertifikat dan skrip php di server web lokal saya (Xampp). Saya bisa mendapatkan token perangkat, dan saya menggunakannya dalam skrip php. Script php dapat menghubungkan dan mengirim data payload. Tapi tetap saja saya tidak bisa mendapatkan PUSH Notification. Apa masalahnya ? Apakah pemberitahuan memerlukan waktu untuk dijangkau ???
Biranchi
12
Di Akses Keychain Mavericks (10.9's), ada opsi untuk mengekspor sebagai .pem! Cukup klik kanan pada "Apple Development / Production iOS Push Services Certificate di dalam Keychain Access dan pilih untuk Mengekspornya. Ubah format file menjadi .pem - selesai! Juga tersedia sebagai opsi ekspor: .p7b & .p12
tylerl
5
.pem dinonaktifkan untuk saya, yosemite beta7. Saya punya beberapa masalah membuat .pem, ketika saya membukanya dikatakan untuk distribusi bukan dev
Cristi Băluță
2
.pem tidak dinonaktifkan untuk saya, tetapi saya tidak dapat menyimpan sebagai p12. Begini
FooBar
2
Untuk macOS 10.14 Mojave menggunakan aplikasi Keychain Access, Anda dapat memilih Ekspor "Apple Push Services: com.yourBundleIdentifier sertifikat" ke Format File "Privacy Enhanced Mail (.pem)" dan simpan kapan pun Anda mau.
5uper_0leh
226
Fase Pengembangan:
Langkah 1: Buat Certificate .pem dari Certificate .p12 openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Langkah 2: Buat Kunci .pem dari Kunci .p12 openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Langkah 3 (Opsional): Jika Anda ingin menghapus frasa sandi yang diminta pada langkah kedua openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
Langkah 4: Sekarang kita harus menggabungkan kunci .pem dan Sertifikat .pem untuk mendapatkan Pengembangan .pem yang dibutuhkan untuk Pemberitahuan Dorong dalam Tahap Pengembangan Aplikasi.
Jika langkah ketiga dilakukan, jalankan: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
Jika langkah ke-3 adalah tidak dilakukan, jalankan: cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
Langkah 5: Periksa validitas sertifikat dan konektivitas ke APNS
Jika langkah ketiga dilakukan, jalankan: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
Jika langkah ke-3 tidak dilakukan, jalankan: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
Fase produksi:
Langkah 1: Buat Certificate .pem dari Certificate .p12 openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
Langkah 2: Buat Kunci .pem dari Kunci .p12 openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
Langkah 3 (Opsional): Jika Anda ingin menghapus frasa sandi yang diminta pada langkah kedua openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
Langkah 4: Sekarang kita harus menggabungkan .pem Kunci dan Sertifikat .pem untuk mendapatkan Produksi .pem yang diperlukan untuk Pemberitahuan Push di Fase Produksi App.
Jika langkah ketiga dilakukan, jalankan: cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
Jika langkah ke-3 tidak dilakukan, jalankan: cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
Langkah 5: Periksa validitas sertifikat dan konektivitas ke APNS.
Jika langkah ketiga dilakukan, jalankan: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
Jika langkah ke-3 tidak dilakukan, jalankan: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem
Terima kasih, ini satu-satunya yang bekerja untuk saya.
Erik Villegas
6
Disimpan ini di brankas saya yang berharga! : P Jawaban terbaik yang pernah ada !!
Menghitam
3
Anda adalah dewa ini bekerja terima kasih. UP VOTE. Ini harus menjadi jawaban karena ini menjelaskan secara mendalam bagaimana cara membuatnya langkah demi langkah
MNM
2
Tentu ini harus menjadi jawaban yang diterima karena jawaban @Rahul Sharma tidak menghasilkan hasil yang diharapkan, sementara jawaban ini sempurna.
Sekarang
Terima kasih Anda telah menghemat waktu saya untuk memeriksa validitas sertifikat. Ini harus menjadi jawaban yang diterima @Biranchi
Sourabh Sharma
59
Langkah:
Buat CSR Menggunakan Akses Gantungan Kunci
Buat P12 Menggunakan Akses Rantai Kunci menggunakan kunci pribadi
ID dan sertifikat Aplikasi APNS
Ini memberi Anda tiga file:
CSR
Kunci pribadi sebagai file p12 ( PushChatKey.p12)
Sertifikat SSL, aps_development.cer
Buka folder tempat Anda mengunduh file, dalam kasus saya Desktop:
$ cd ~/Desktop/
Ubah file .cer menjadi file .pem:
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Pertama-tama Anda harus memasukkan frasa sandi untuk file .p12 agar openssl dapat membacanya. Maka Anda perlu memasukkan frasa sandi baru yang akan digunakan untuk mengenkripsi file PEM. Sekali lagi untuk tutorial ini saya menggunakan "pushchat" sebagai frasa sandi PEM. Anda harus memilih sesuatu yang lebih aman. Catatan: jika Anda tidak memasukkan frasa sandi PEM, openssl tidak akan memberikan pesan kesalahan tetapi file .pem yang dihasilkan tidak akan memiliki kunci pribadi di dalamnya.
Terakhir, gabungkan sertifikat dan kunci ke dalam satu file .pem:
Setelah Anda menghasilkan p12, ini harus menjadi jawabannya.
Stone
10
- >> Tutorial Apple sendiri << - adalah satu-satunya rangkaian instruksi yang pernah saya jumpai. Ini lurus ke depan dan saya dapat mengkonfirmasi itu berfungsi baik pada server php linux dan server windows php.
Anda dapat menemukan proses pembuatan 5-langkah mereka tepat di bagian bawah halaman.
Iya! Cukup ikuti tutorial sederhana ini. Hanya satu perintah openssl sederhana. Saya tidak tahu apakah itu penting, tapi saya menjalankan perintah dengan SSH'ing ke server yang terhubung ke APNS.
tylerl
1
@tylerl, PEM dapat dihasilkan dari mesin apa pun - tidak harus server tempat ia berada.
capikaw
Apakah saya perlu menjalankan proses ini di server itu sendiri di mana kode php digunakan? atau bisakah saya menggunakan file .pem yang dihasilkan dari mac saya?
Anda dapat melihatnya di sini. Saya memiliki proses terperinci yang dijelaskan dengan gambar, mulai dari membuat sertifikat, ke kunci aplikasi ke profil penyediaan, hingga akhirnya pem.
http://docs.moengage.com/docs/apns-certificate-pem-file
CATATAN: Anda harus memiliki peran Agen Tim atau Admin di App Store Connect untuk melakukan tugas-tugas ini. Jika Anda bukan bagian dari Tim di App Store Connect, ini mungkin tidak memengaruhi Anda.
Mengirim pemberitahuan push ke aplikasi iOS memerlukan pembuatan kunci penyandian. Di masa lalu ini adalah proses rumit yang menggunakan kunci dan sertifikat SSL. Setiap sertifikat SSL khusus untuk satu aplikasi iOS. Pada 2016 Apple memperkenalkan mekanisme kunci otentikasi baru yang lebih andal dan lebih mudah digunakan. Kunci otentikasi baru lebih fleksibel, mudah dirawat dan diterapkan lebih dari pada aplikasi iOS.
Meskipun sudah bertahun-tahun sejak kunci otentikasi diperkenalkan, tidak setiap layanan mendukungnya. FireBase dan Amazon Pinpoint mendukung kunci otentikasi. Amazon SNS, Urban Airship, Twilio, dan LeanPlum tidak. Banyak paket perangkat lunak open source belum mendukung kunci otentikasi.
Untuk membuat sertifikat SSL yang diperlukan dan mengekspornya sebagai file PEM yang berisi kunci publik dan pribadi:
Baca terus untuk mengetahui cara menghindari kehilangan jejak kunci pribadi itu.
Arahkan ke Sertifikat, Identifiers & Profil
Xcode tidak mengontrol sertifikat atau kunci untuk pemberitahuan push. Untuk membuat kunci dan mengaktifkan pemberitahuan push untuk suatu aplikasi, Anda harus mengunjungi situs web Pusat Pengembang Apple. Bagian Sertifikat, Pengidentifikasi & Profil akun Anda mengontrol ID Aplikasi dan sertifikat.
Untuk mengakses sertifikat dan profil, Anda harus memiliki keanggotaan Program Pengembang Apple berbayar atau menjadi bagian dari Tim yang melakukannya.
Buka Akun , lalu Sertifikat, Identifikasi & Profil
Buat ID Aplikasi
Aplikasi yang menggunakan pemberitahuan push tidak dapat menggunakan ID aplikasi wildcard atau profil penyediaan. Setiap aplikasi mengharuskan Anda mengatur catatan ID Aplikasi di portal Pusat Pengembang Apple untuk mengaktifkan pemberitahuan push.
Buka ID Aplikasi di bawah Pengidentifikasi
Cari aplikasi Anda menggunakan pengidentifikasi bundel. Itu mungkin sudah ada.
Jika tidak ada ID Aplikasi untuk aplikasi, klik tombol (+) untuk membuatnya.
Pilih ID Aplikasi Eksplisit di bagian Sufiks ID Aplikasi .
Masukkan pengidentifikasi bundel untuk aplikasi.
Gulir ke bawah dan aktifkan Pemberitahuan Push .
Klik Lanjutkan .
Pada layar berikutnya klik Daftar untuk menyelesaikan pembuatan ID Aplikasi.
Aktifkan Pemberitahuan Push untuk ID Aplikasi
Buka ID Aplikasi di bawah Pengidentifikasi
Klik pada ID Aplikasi untuk melihat detail dan gulir ke bawah.
Klik Edit
Di layar Pengaturan ID Aplikasi, gulir ke bawah ke Pemberitahuan Push
Pilih kotak centang untuk mengaktifkan pemberitahuan push.
Membuat sertifikat SSL untuk pemberitahuan push adalah proses dari beberapa tugas. Setiap tugas memiliki beberapa langkah. Semua ini diperlukan untuk mengekspor kunci dalam format P12 atau PEM. Tinjau langkah-langkah sebelum melanjutkan.
Tambahkan Sertifikat SSL ke ID Aplikasi
Di bawah Pengembangan Sertifikat SSL klik Buat Sertifikat . Anda perlu melakukan ini nanti untuk produksi juga.
Apple akan meminta Anda untuk membuat Permintaan Penandatanganan Sertifikat
Untuk membuat sertifikat, Anda harus membuat Permintaan Penandatanganan Sertifikat (CSR) pada Mac dan mengunggahnya ke Apple.
Kemudian jika Anda perlu mengekspor sertifikat ini sebagai file pkcs12 (alias p12), Anda harus menggunakan gantungan kunci dari Mac yang sama . Ketika permintaan penandatanganan dibuat Akses Keychain menghasilkan satu set kunci di gantungan kunci default. Kunci-kunci ini diperlukan untuk bekerja dengan sertifikat yang akan dibuat Apple dari permintaan penandatanganan.
Ini adalah praktik yang baik untuk memiliki gantungan kunci terpisah khusus untuk kredensial yang digunakan untuk pengembangan. Jika Anda melakukan ini, pastikan gantungan kunci ini disetel sebagai bawaan sebelum menggunakan Certificate Assistant.
Buat Keychain untuk Kredensial Pengembangan
Buka Akses Rantai Kunci di Mac Anda
Dalam menu File pilih Gantungan Kunci Baru ...
Berikan gantungan kunci Anda nama deskriptif, seperti "Pengembangan Bersama" atau nama aplikasi Anda
Buat Permintaan Penandatanganan Sertifikat (CSR)
Saat membuat Permintaan Penandatanganan Sertifikat, Asisten Sertifikat menghasilkan dua kunci enkripsi di gantungan kunci default. Penting untuk menjadikan gantungan kunci pengembangan sebagai bawaan sehingga kunci-kunci tersebut ada di gantungan kunci yang benar.
Buka Akses Rantai Kunci di Mac Anda.
Kontrol-klik pada gantungan kunci pengembangan dalam daftar gantungan kunci
Dari menu Akses Keychain pilih Asisten Sertifikat , lalu Minta Sertifikat Dari Otoritas Sertifikat ... dari sub menu.
Ketika Asisten Sertifikat muncul, periksa Disimpan ke Disk .
Masukkan alamat email yang terkait dengan keanggotaan Program Pengembang Apple Anda di Alamat Email Pengguna bidang .
Masukkan nama untuk kunci di bidang Nama Umum . Sebaiknya gunakan bundel ID aplikasi sebagai bagian dari nama umum. Ini membuatnya mudah untuk mengetahui sertifikat dan kunci apa yang dimiliki aplikasi mana.
Klik lanjutkan. Certificate Assistant akan meminta untuk menyimpan permintaan penandatanganan ke file.
Di Keychain Access, buat kembali "login" gantungan kunci menjadi default.
Membuat permintaan penandatanganan menghasilkan sepasang kunci. Sebelum permintaan penandatanganan diunggah, verifikasi bahwa gantungan kunci pengembangan memiliki kunci. Nama mereka akan sama dengan Nama Biasa yang digunakan dalam permintaan penandatanganan.
Setelah Permintaan Penandatanganan Sertifikat dibuat, unggah ke Pusat Pengembang Apple. Apple akan membuat sertifikat pemberitahuan push dari permintaan penandatanganan.
Unggah Permintaan Penandatanganan Sertifikat
Unduh sertifikat yang telah dibuat Apple dari Permintaan Penandatanganan Sertifikat
Di Akses Keychain pilih gantungan kunci pengembangan dari daftar gantungan kunci
Dari menu File pilih Impor Item ...
Impor file sertifikat yang diunduh dari Apple
Keychain pengembangan Anda sekarang harus memperlihatkan sertifikat push dengan kunci pribadi di bawah Sertifikat Saya di Akses Keychain:
Pada titik ini gantungan kunci pengembangan harus didukung. Banyak tim menyimpan sertifikat push mereka pada drive USB yang aman, berkomitmen untuk kontrol versi internal atau menggunakan solusi cadangan seperti Time Machine. Gantungan kunci pengembangan dapat dibagikan di antara anggota tim yang berbeda karena tidak berisi kredensial penandatanganan kode pribadi.
File gantungan kunci terletak di ~/Library/Keychains.
Beberapa layanan push pihak ketiga memerlukan sertifikat dalam format Privacy Enhanced Mail (PEM), sementara yang lain memerlukan Public-Key Cryptography Standards # 12 (PKCS12 atau P12). Sertifikat yang diunduh dari Apple dapat digunakan untuk mengekspor sertifikat dalam format ini - tetapi hanya jika Anda telah menyimpan kunci privat.
Ubah sertifikat menjadi format PEM
Di Akses Keychain pilih gantungan kunci pengembangan yang dibuat sebelumnya.
Saya akan menyarankan solusi yang jauh lebih sederhana. Cukup gunakan Sertifikat . Certifire adalah aplikasi macOS yang menghasilkan Sertifikat Pemberitahuan Push Apple hanya dengan satu klik dalam beberapa detik.
Berikut langkah-langkahnya:
1. Unduh aplikasi.
2. Masuk menggunakan kredensial Akun Pengembang Apple Anda.
3. Pilih App-ID
4. Klik tombol "Hasilkan"
5. Anda selesai!
Anda akan mendapatkan sertifikat APN dalam format .pem dan juga dalam format .p12. Terlebih lagi, Anda juga akan mendapatkan kombinasi .pem dan .p12 (kunci + cert)!
Lebih dari itu, Anda juga akan mendapatkan versi tanpa frasa sandi dari semua sertifikat ini!
Ini adalah bagaimana saya melakukannya pada Windows 7, setelah menginstal OpenSSL (tautan menuju ke installer Win32, pilih versi terbaru dan bukan versi ringan).
Dengan metode ini, Anda hanya perlu .cermengunduh file dari Apple.
c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM
ini akan membuat file yang kemudian Anda perlu menambahkan kunci pribadi Anda.
----- BEGIN PRIVATE KUNCI -----
MIIEuwIBADANBgkqhk .... dll
MIIEuwIBADANBgkqhk .... dll
MIIEuwIBADANBgkqhk .... dll
MIIEuwIBADANBgkqhk .... dll
----- AKHIR KUNCI PRIVATE -----
----- BEGIN CERTIFICATE -----
AwIBAgwIBADAwIBADA .... dll
AwIBAgwIBADAwIBADA .... dll
AwIBAgwIBADAwIBADA .... dll
----- END CERTIFICATE -----
Beri nama, misalnya, signpem.shdan simpan di folder pengguna Anda ( /Users/<username>?). Setelah membuat file, lakukan chmod +x signpem.shuntuk membuatnya dapat dieksekusi dan kemudian Anda dapat menjalankan:
Jawaban:
Inilah yang saya lakukan, Dari: blog.boxedice.com dan "iPhone Advanced Projects" bab 10 oleh Joe Pezzillo.
Dengan aps_developer_identity.cer di gantungan kunci:
apns-dev-cert.p12
file di suatu tempat Anda dapat mengaksesnya. Tidak perlu memasukkan kata sandi.Perintah selanjutnya menghasilkan sertifikat dalam Terminal Mac untuk format PEM (Sertifikat Keamanan Email Ditingkatkan Privasi):
Di server atur izin file dari kunci tidak terenkripsi ini dengan menggunakan chmod 400.
sumber
Fase Pengembangan:
Langkah 1: Buat Certificate .pem dari Certificate .p12
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Langkah 2: Buat Kunci .pem dari Kunci .p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
Langkah 3 (Opsional): Jika Anda ingin menghapus frasa sandi yang diminta pada langkah kedua
openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
Langkah 4: Sekarang kita harus menggabungkan kunci .pem dan Sertifikat .pem untuk mendapatkan Pengembangan .pem yang dibutuhkan untuk Pemberitahuan Dorong dalam Tahap Pengembangan Aplikasi.
Jika langkah ketiga dilakukan, jalankan:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
Jika langkah ke-3 adalah tidak dilakukan, jalankan:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
Langkah 5: Periksa validitas sertifikat dan konektivitas ke APNS
Jika langkah ketiga dilakukan, jalankan:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
Jika langkah ke-3 tidak dilakukan, jalankan:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
Fase produksi:
Langkah 1: Buat Certificate .pem dari Certificate .p12
openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
Langkah 2: Buat Kunci .pem dari Kunci .p12
openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
Langkah 3 (Opsional): Jika Anda ingin menghapus frasa sandi yang diminta pada langkah kedua
openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
Langkah 4: Sekarang kita harus menggabungkan .pem Kunci dan Sertifikat .pem untuk mendapatkan Produksi .pem yang diperlukan untuk Pemberitahuan Push di Fase Produksi App.
Jika langkah ketiga dilakukan, jalankan:
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
Jika langkah ke-3 tidak dilakukan, jalankan:
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
Langkah 5: Periksa validitas sertifikat dan konektivitas ke APNS.
Jika langkah ketiga dilakukan, jalankan:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
Jika langkah ke-3 tidak dilakukan, jalankan:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem
sumber
Langkah:
Ini memberi Anda tiga file:
PushChatKey.p12
)aps_development.cer
Buka folder tempat Anda mengunduh file, dalam kasus saya Desktop:
$ cd ~/Desktop/
Ubah file .cer menjadi file .pem:
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Ubah file .p12 kunci pribadi menjadi file .pem:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
Masukkan Kata Sandi Impor:
MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
Pertama-tama Anda harus memasukkan frasa sandi untuk file .p12 agar openssl dapat membacanya. Maka Anda perlu memasukkan frasa sandi baru yang akan digunakan untuk mengenkripsi file PEM. Sekali lagi untuk tutorial ini saya menggunakan "pushchat" sebagai frasa sandi PEM. Anda harus memilih sesuatu yang lebih aman. Catatan: jika Anda tidak memasukkan frasa sandi PEM, openssl tidak akan memberikan pesan kesalahan tetapi file .pem yang dihasilkan tidak akan memiliki kunci pribadi di dalamnya.
Terakhir, gabungkan sertifikat dan kunci ke dalam satu file .pem:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
sumber
Buka aplikasi Terminal dan masukkan perintah berikut setelah prompt
sumber
- >> Tutorial Apple sendiri << - adalah satu-satunya rangkaian instruksi yang pernah saya jumpai. Ini lurus ke depan dan saya dapat mengkonfirmasi itu berfungsi baik pada server php linux dan server windows php.
Anda dapat menemukan proses pembuatan 5-langkah mereka tepat di bagian bawah halaman.
sumber
Anda dapat melihatnya di sini. Saya memiliki proses terperinci yang dijelaskan dengan gambar, mulai dari membuat sertifikat, ke kunci aplikasi ke profil penyediaan, hingga akhirnya pem. http://docs.moengage.com/docs/apns-certificate-pem-file
sumber
Mengirim pemberitahuan push ke aplikasi iOS memerlukan pembuatan kunci penyandian. Di masa lalu ini adalah proses rumit yang menggunakan kunci dan sertifikat SSL. Setiap sertifikat SSL khusus untuk satu aplikasi iOS. Pada 2016 Apple memperkenalkan mekanisme kunci otentikasi baru yang lebih andal dan lebih mudah digunakan. Kunci otentikasi baru lebih fleksibel, mudah dirawat dan diterapkan lebih dari pada aplikasi iOS.
Meskipun sudah bertahun-tahun sejak kunci otentikasi diperkenalkan, tidak setiap layanan mendukungnya. FireBase dan Amazon Pinpoint mendukung kunci otentikasi. Amazon SNS, Urban Airship, Twilio, dan LeanPlum tidak. Banyak paket perangkat lunak open source belum mendukung kunci otentikasi.
Untuk membuat sertifikat SSL yang diperlukan dan mengekspornya sebagai file PEM yang berisi kunci publik dan pribadi:
Jika Anda sudah mengatur sertifikat SSL untuk aplikasi di situs web Pusat Pengembang Apple, Anda dapat langsung beralih ke Konversi sertifikat ke format PEM. Perlu diingat bahwa Anda akan mengalami masalah jika Anda tidak juga memiliki kunci pribadi yang dihasilkan pada Mac yang menciptakan permintaan penandatanganan yang diupload ke Apple.
Baca terus untuk mengetahui cara menghindari kehilangan jejak kunci pribadi itu.
Arahkan ke Sertifikat, Identifiers & Profil
Xcode tidak mengontrol sertifikat atau kunci untuk pemberitahuan push. Untuk membuat kunci dan mengaktifkan pemberitahuan push untuk suatu aplikasi, Anda harus mengunjungi situs web Pusat Pengembang Apple. Bagian Sertifikat, Pengidentifikasi & Profil akun Anda mengontrol ID Aplikasi dan sertifikat.
Untuk mengakses sertifikat dan profil, Anda harus memiliki keanggotaan Program Pengembang Apple berbayar atau menjadi bagian dari Tim yang melakukannya.
Buat ID Aplikasi
Aplikasi yang menggunakan pemberitahuan push tidak dapat menggunakan ID aplikasi wildcard atau profil penyediaan. Setiap aplikasi mengharuskan Anda mengatur catatan ID Aplikasi di portal Pusat Pengembang Apple untuk mengaktifkan pemberitahuan push.
Aktifkan Pemberitahuan Push untuk ID Aplikasi
Membuat sertifikat SSL untuk pemberitahuan push adalah proses dari beberapa tugas. Setiap tugas memiliki beberapa langkah. Semua ini diperlukan untuk mengekspor kunci dalam format P12 atau PEM. Tinjau langkah-langkah sebelum melanjutkan.
Tambahkan Sertifikat SSL ke ID Aplikasi
Untuk membuat sertifikat, Anda harus membuat Permintaan Penandatanganan Sertifikat (CSR) pada Mac dan mengunggahnya ke Apple.
Kemudian jika Anda perlu mengekspor sertifikat ini sebagai file pkcs12 (alias p12), Anda harus menggunakan gantungan kunci dari Mac yang sama . Ketika permintaan penandatanganan dibuat Akses Keychain menghasilkan satu set kunci di gantungan kunci default. Kunci-kunci ini diperlukan untuk bekerja dengan sertifikat yang akan dibuat Apple dari permintaan penandatanganan.
Buat Keychain untuk Kredensial Pengembangan
Buat Permintaan Penandatanganan Sertifikat (CSR)
Saat membuat Permintaan Penandatanganan Sertifikat, Asisten Sertifikat menghasilkan dua kunci enkripsi di gantungan kunci default. Penting untuk menjadikan gantungan kunci pengembangan sebagai bawaan sehingga kunci-kunci tersebut ada di gantungan kunci yang benar.
Membuat permintaan penandatanganan menghasilkan sepasang kunci. Sebelum permintaan penandatanganan diunggah, verifikasi bahwa gantungan kunci pengembangan memiliki kunci. Nama mereka akan sama dengan Nama Biasa yang digunakan dalam permintaan penandatanganan.
Unggah Permintaan Penandatanganan Sertifikat (CSR)
Setelah Permintaan Penandatanganan Sertifikat dibuat, unggah ke Pusat Pengembang Apple. Apple akan membuat sertifikat pemberitahuan push dari permintaan penandatanganan.
Keychain pengembangan Anda sekarang harus memperlihatkan sertifikat push dengan kunci pribadi di bawah Sertifikat Saya di Akses Keychain:
Pada titik ini gantungan kunci pengembangan harus didukung. Banyak tim menyimpan sertifikat push mereka pada drive USB yang aman, berkomitmen untuk kontrol versi internal atau menggunakan solusi cadangan seperti Time Machine. Gantungan kunci pengembangan dapat dibagikan di antara anggota tim yang berbeda karena tidak berisi kredensial penandatanganan kode pribadi.
Beberapa layanan push pihak ketiga memerlukan sertifikat dalam format Privacy Enhanced Mail (PEM), sementara yang lain memerlukan Public-Key Cryptography Standards # 12 (PKCS12 atau P12). Sertifikat yang diunduh dari Apple dapat digunakan untuk mengekspor sertifikat dalam format ini - tetapi hanya jika Anda telah menyimpan kunci privat.
Ubah sertifikat menjadi format PEM
sumber
Saya akan menyarankan solusi yang jauh lebih sederhana. Cukup gunakan Sertifikat .
Certifire adalah aplikasi macOS yang menghasilkan Sertifikat Pemberitahuan Push Apple hanya dengan satu klik dalam beberapa detik.
Berikut langkah-langkahnya:
1. Unduh aplikasi.
2. Masuk menggunakan kredensial Akun Pengembang Apple Anda.
3. Pilih App-ID
4. Klik tombol "Hasilkan"
5. Anda selesai!
Anda akan mendapatkan sertifikat APN dalam format .pem dan juga dalam format .p12. Terlebih lagi, Anda juga akan mendapatkan kombinasi .pem dan .p12 (kunci + cert)!
Lebih dari itu, Anda juga akan mendapatkan versi tanpa frasa sandi dari semua sertifikat ini!
sumber
Ini adalah bagaimana saya melakukannya pada Windows 7, setelah menginstal OpenSSL (tautan menuju ke installer Win32, pilih versi terbaru dan bukan versi ringan).
Dengan metode ini, Anda hanya perlu
.cer
mengunduh file dari Apple.ini akan membuat file yang kemudian Anda perlu menambahkan kunci pribadi Anda.
Itu dia.
sumber
Ada cara termudah untuk membuat file .Pem jika Anda sudah membuka file p12 di akses gantungan kunci Anda.
Buka terminal dan masukkan perintah di bawah ini:
Untuk Devlopment openssl pkcs12 -dalam apns-div-cert.p12 -keluar apns-div-cert.pem -nodes -clcerts
Untuk Produksi openssl pkcs12 -dalam apns-dist-cert.p12 -keluar apns-dist-cert.pem -nodes -clcerts
Ganti nama file P12 Anda dengan nama ini: apns-div-cert.p12 jika tidak, Anda harus memasukkan nama file Anda. Terima kasih!!
sumber
Saya tidak pernah ingat
openssl
perintah yang diperlukan untuk membuat.pem
file, jadi saya membuat skrip bash ini untuk menyederhanakan proses:Beri nama, misalnya,
signpem.sh
dan simpan di folder pengguna Anda (/Users/<username>
?). Setelah membuat file, lakukanchmod +x signpem.sh
untuk membuatnya dapat dieksekusi dan kemudian Anda dapat menjalankan:~/signpem myCertificate.p12 myCertificate.pem
Dan
myCertificate.pem
akan dibuat.sumber