Agar proses sign (tandatangan digital) file mobileconfig, kita bisa memindahkan proses sign dari Mac ke Linux, sehingga bisa dibuat otomatis. Dengan menggunakan openssl di Linux proses automatisasi dan menggabungkannya dengan berbagai fitur di website menjadi lebih gampang. Sehingga prosesnya jauh lebih cepat dan tanpa perlu Mac yang online 24 jam.

Ambil file .p12 dan export sertifikat dari Mac dengan nama Apple Worldwide Developer Relations Certification Authority, hasil export dari Apple ceritificate Authority tersebut adalah AppleWorldwideDeveloperRelationsCertificationAuthority.der

1. Ekstrak private key dan sertifikat dari .p12

Anggap file .p12 yang anda dapatkan adalah jaranguda.p12
Ekstrak Key

openssl pkcs12 -in jaranguda.p12 -nocerts -out jaranguda.key.pem

masukkan password untuk mengimport private key. lalu masukkan password baru untuk decrypt key tersebut nantinya.

Ekstrak Sertifikat

openssl pkcs12 -in jaranguda.p12 -clcerts -nokeys -out jaranguda.crt.pem

2. Conversi Apple CA DER ke PEM

Hasil export CA Apple Worldwide Developer Relations Certification Authority dari Mac masih dalam format DER, untuk itu ubah ke bentuk PEM

openssl x509 -inform der -in AppleWorldwideDeveloperRelationsCertificationAuthority.der -out apple.pem

3. Sign Mobile Config

Setelah ketiga file CA (apple.pem), Key (jaranguda.key.pem) dan sertifikat (jaranguda.crt.pem). Disini kita akan meng-sign jaranguda.mobileconfig, hasil akhirnya adalah file yang telah di tandatangan yang kita beri nama jaranguda-signed.mobileconfig

openssl smime -sign -signer jaranguda.crt.pem -inkey jaranguda.key.pem -certfile apple.pem -nodetach -outform der -in jaranguda.mobileconfig -out jaranguda-signed.mobileconfig

masukkan password yang dibuat saat mengesktrak private key.

4. Menghapus Password dari Private Key

Bila file jaranguda.key.pem dibuka ada baris

-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----

untuk otomatisasi lebih baik key tersebut dihapus ;)

openssl rsa -in jaranguda.key.pem -out jaranguda-nonpass.key.pem

Leave a comment

Your email address will not be published. Required fields are marked *