Tujuan saya adalah membuat CSR (permintaan penandatanganan sertifikat) menggunakan kunci pribadi saya yang sudah ada untuk dikirim ke Apple guna menghasilkan sertifikat Distribusi iPhone baru. Saya memastikan Sertifikat adalah Kategori yang dipilih di sebelah kiri. Saya mencoba mengklik kanan kunci pribadi saya dan mengklik Minta Sertifikat Dari Otoritas Sertifikat Dengan Kunci Pribadi yang Diimpor dan akan mendapatkan kesalahan berikut ketika saya mencoba menyimpannya.
Item yang ditentukan tidak dapat ditemukan di rantai kunci.
Saya juga mendapatkan kesalahan yang sama saat membuka menu file: Akses Keychain > Asisten Sertifikat
Apa yang saya kumpulkan dari sumber internet lain adalah Akses Keychain TIDAK memungkinkan Anda membuat CSR baru jika Anda mengimpor kunci pribadi, hanya jika Anda membuat kunci secara lokal dari alat.
Apa yang akhirnya saya lakukan adalah mengekspor kunci privat dan menggunakan openssl untuk menghasilkan CSR baru, yang diterima Apple, dan sekarang mereferensikan Kunci Pribadi yang Diimpor baru.
Mengekspor kunci pribadi
- Klik kanan pada kunci pribadi
- Ekspor
- Pastikan format file p12 dipilih
- Menyimpan
- Masukkan kata sandi (opsional)
- Izinkan akses untuk mengekspor kunci
- Buka Terminal dan pergi ke direktori yang diekspor
- Ekstrak kunci dari wadah p12
Hati-hati karena kunci pribadi .pem tidak lagi dilindungi kata sandi)
$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK
Membuat CSR baru dengan kunci pribadi yang diekspor
$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:thon@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Beberapa hal yang perlu diperhatikan:
- Masuk. bila Anda ingin bidang tersebut kosong, atau default akan menyertakan apa pun yang ada di dalam tanda kurung [].
- Nama Umum (CN) haruslah nama kunci pribadi Anda (mis., Kunci Pengembang John Doe)
- Alamat email haruslah alamat email Anda (mis. Thon@example.com)
- Yang lainnya harus kosong
Verifikasi CSR Anda
$ openssl req -noout -text -in Certificates.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=John Doe Dev Key/emailAddress=thon@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
…
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
…
Yang harus Anda perhatikan ada di baris Subjek dan verifikasi bahwa itu benar.
Sekarang yang perlu Anda lakukan hanyalah mengirimkannya ke Apple, tunggu sertifikat dibuat, lalu instal. Setelah Anda mengimpor sertifikat yang baru dibuat, Anda akan melihat bahwa itu akan merujuk pada sertifikat lama yang Anda ekspor di atas.