Meskipun tautan RedYeti bermanfaat, hanya untuk menyimpan beberapa klik untuk orang lain, izinkan saya meringkas cara membuat sertifikat penandatanganan kode dan menggunakannya untuk penandatanganan kode (kembali):
Buat sertifikat penandatanganan kode Anda sendiri:
Di Akses Keychain, Akses Keychain> Asisten Sertifikat> Buat sertifikat. Ini meluncurkan Asisten Sertifikat:
Nama: Masukkan beberapa string acak di sini yang dapat Anda ingat. Hindari spasi jika tidak, Anda harus keluar dari nama sertifikat saat menggunakan codesign
dari baris perintah.
Jenis identitas: Self Signed Root
Jenis Sertifikat: Penandatanganan Kode
Centang kotak "Biarkan saya menimpa default", ini cukup penting
Nomor seri: 1 (OK selama kombinasi nama sertifikat / nomor seri adalah unik)
Masa Berlaku: 3650 (memberi Anda 10 tahun)
Email, Nama, dll. Isi sesuai keinginan.
Info pasangan kunci: diatur ke RSA, 2048 bit. Tidak terlalu penting IMHO.
Dari "Ekstensi penggunaan utama" hingga "Ekstensi Nama Alternatif Subjek": terima standarnya.
Lokasi: gantungan kunci masuk.
Setelah dibuat, setel ke "Selalu percaya" di gantungan kunci Login: klik kanan pada sertifikat, pilih "Dapatkan Info", dan di bagian "Kepercayaan", set "Saat menggunakan sertifikat ini" ke "Selalu percaya".
Menandatangani ulang aplikasi:
codesign -f --deep -s <certname> /path/to/app
Verifikasi bahwa itu berhasil:
codesign -dvvvv /path/to/app
Nikmati!
PEMBARUAN:
Orang-orang bertanya kepada saya mengapa ini "tidak berfungsi" di macOS 10.14 "Mojave". Sekarang saya akhirnya memperbarui :-), inilah yang saya pelajari.
Pada dasarnya, jangan gunakan sertifikat yang ditandatangani sendiri untuk menandatangani kode. Hasilkan sertifikat menggunakan Apple ID Anda di Xcode sebagai gantinya. Untuk rekap langkah-langkah singkat:
Dalam Xcode> Preferensi> Akun, pilih ID pengembang Apple Anda, klik "Kelola Sertifikat", pilih "+" di sudut kiri bawah, itu menawarkan Anda opsi "Pengembangan Apple". Pilih itu, ini akan membuat sertifikat untuk Anda. Dengan mengklik-Ctrl pada sertifikat baru Anda dapat mengekspornya (dalam .p12
format), dan dengan open
-ing .p12
file itu akan dimuat ke gantungan kunci Login Anda.
Anda akan melihat bahwa sertifikat ini berlaku selama satu tahun, "Dikeluarkan oleh: Otoritas Sertifikasi Hubungan Pengembang Apple Worldwide". Saya menduga itu lebih dapat dipercaya daripada sertifikat yang ditandatangani sendiri.
Sekarang Anda bisa masuk aplikasi seperti sebelumnya dengan codesign -f -s <apple_ID> /path/to/prog
. Saya mencobanya dengan biner sederhana (dikompilasi dari hello.c
:-)), dan bisa diverifikasi dengan codesign -v
.
Saya belum mencobanya dengan paket Python, jadi saya tidak memiliki saran kepada orang-orang yang disebutkan dalam komentar mereka bahwa ini tidak dapat masuk "python.app".