Bisakah saya membuat sertifikat S / MIME saya sendiri untuk enkripsi email? [Tutup]

19

Saya mengalami sedikit masalah di sini. Bersabarlah karena ini mungkin kasus "tidak mengajukan pertanyaan yang tepat".

Latar Belakang: Menggunakan Apple Mail. Ingin mengenkripsi / mendekripsi email tetapi GPGMail (dan tampaknya PGP) tidak didukung dengan Snow Leopard.

Pada dasarnya saya perlu membuat sertifikat S / MIME untuk digunakan dalam enkripsi email. Saya tidak mau, saya juga tidak peduli dengan Otoritas Sertifikat. Saya hanya ingin sertifikat cepat dan kotor. Apakah ini bahkan mungkin (menggunakan OPENSSL, dll) atau apakah seluruh proses bergantung pada otoritas yang lebih tinggi memaksa saya untuk membuat CA skala penuh atau berurusan dengan perusahaan (misalnya Verisign, Thawte) untuk sertifikat? Kriteria saya adalah kepuasan instan, dan gratis.

Terbaik.

humble_coder
sumber
1
Perhatikan bahwa sertifikat Anda digunakan untuk dua tujuan di S / MIME. Untuk menandatangani email Anda , dan mendekripsi email yang dikirimkan kepada Anda oleh orang lain. Untuk mengenkripsi email ke orang lain, Anda memerlukan sertifikat mereka. Biasanya, klien email dibuat di luar kotak untuk mempercayai beberapa set CA yang telah ditentukan. Jika sertifikat tidak ditandatangani oleh salah satu dari ini, Anda akan mendapatkan setidaknya pesan buruk dan bahkan mungkin sistem yang tidak berfungsi.
James Reinstate Monica Polk
1
Saya tahu ini adalah pertanyaan yang lebih lama, tetapi untuk referensi di masa mendatang, plugin GPGMail sekarang berfungsi di Snow Leopard gpgtools.org/installer/index.html
Jason Whitehorn
Saya tahu ini adalah komentar yang lebih lama - tetapi GPGMail tidak gratis untuk OSX lagi.
nycynik

Jawaban:

23

Ya, itu menyebalkan bahwa Apple Mail tidak mendukung GPG. :-( Saya berharap itu terjadi karena saya lebih suka e-mail terenkripsi GPG juga.

Saya juga setuju bahwa informasi seputar S / MIME dan membuat sertifikat email sendiri sulit didapat. Saya menemukan halaman web Paul Bramscher memiliki deskripsi yang baik tentang cara membuat sertifikat Otoritas Sertifikat Anda sendiri.

Saya tidak berpura-pura sepenuhnya memahami proses sertifikat, tetapi inilah yang saya bisa kumpulkan. Anda harus membaca manual openssl untuk informasi lebih rinci tentang masing-masing perintah yang ditunjukkan di bawah ini.

Buat Otoritas Sertifikat

Langkah pertama adalah membuat Certificate Authority (CA) Anda sendiri. Perintahnya adalah ...

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

dan ikuti petunjuknya.

Anda perlu mengeluarkan sertifikat CA Anda (yaitu konten ca.crt ) untuk masing-masing dan setiap penerima email terenkripsi Anda. Penerima harus menginstal dan mempercayai sertifikat CA Anda sehingga email terenkripsi Anda akan dipercaya. Instalasi akan bervariasi untuk setiap klien email yang digunakan.

Dalam kasus Anda, Anda perlu menambahkan sertifikat CA ke Gantungan Kunci Apple Anda. Ada banyak posting di web tentang cara mengimpor dan mempercayai sertifikat CA di Gantungan Kunci Apple.

Buat Permintaan Sertifikat Email Pribadi

Anda sekarang perlu membuat permintaan sertifikat. Buat satu untuk setiap alamat email yang ingin Anda kirimi email. Jalankan perintah berikut ...

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

dan ikuti petunjuknya.

Otoritas Sertifikat Menandatangani Permintaan Sertifikat Anda

Sertifikat pribadi Anda perlu ditandatangani oleh CA Anda. Dalam hal ini, kamu!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

Outputnya adalah sertifikat yang Anda tandatangani.

Siapkan Sertifikat Anda untuk Mengimpor ke dalam Aplikasi Surat Anda

Anda perlu mengubah sertifikat Anda dari .crt(format PEM, saya pikir) ke .p12(format PCKS12).

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Anda sekarang dapat mengimpor *.p12*sertifikat yang telah diformat ke klien email Anda. Dalam kasus Anda, impor *.p12*file ke Keychain Apple. Setelah sertifikat dipasang dengan benar, Apple Mail akan mulai menggunakan sertifikat Anda.

Ada Cara yang Lebih Mudah

Tentu saja, setelah Anda membuat CA Anda sendiri, ada cara yang lebih mudah untuk mengelola sertifikat yang dibuat oleh Otoritas Sertifikat Anda sendiri. openssl dilengkapi dengan skrip bernama ...

# /usr/lib/ssl/misc/CA.pl

yang menyederhanakan proses menjadi Otoritas Sertifikat Anda sendiri. Bahkan ada halaman manual untuk CA.pl!

Menghukum
sumber
Di bagian Otoritas Sertifikat Menandatangani Permintaan Sertifikat Anda. Argumen "-CAKey" harus "-Kunci" dengan huruf kecil 'k' - setidaknya untuk versi saya Buka SSL 1.0.0a 1 Jun 2010
KevM
2
Saya mengubah -CAKey ke -CAkey. Ini adalah jawaban yang sangat bagus, tetapi komentar samping tentang GPG tidak beralasan. S / MIME memiliki banyak keunggulan dibandingkan GPG. Selain dukungan yang lebih luas, itu termasuk sertifikat dengan setiap pesan yang ditandatangani, menyediakan mekanisme distribusi sertifikat bawaan.
vy32
Jangan lupa untuk menetapkan batasan pada sertifikat, lihat security.stackexchange.com/a/30069/3272
Tobias Kienzler
8

Gratis dan ditandatangani oleh CA: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Andrew McGregor
sumber
1
Commodo menggunakan tag <keygen> untuk membiarkan browser Anda membuat CSR tanpa berbagi privatekey. Itu tidak berfungsi di sebagian besar browser modern (mis. Chrome 49+).
mhvelplund
Kutipan dari halaman: “ Silakan gunakan Mozilla® Firefox® atau Microsoft® Internet Explorer® 8+ untuk mengumpulkan sertifikat Anda. Sertifikat Email tidak dapat dikumpulkan menggunakan Google® Chrome® atau Microsoft Edge. ” Ini cocok dengan tabel kompatibilitas dari MDN .
Franklin Yu
bekerja menggunakan safari.
nycynik
1

Seperti yang orang lain katakan, jawabannya jelas ya. Anda dapat membuatnya melalui openssl, atau Anda dapat menggunakan salah satu penyedia yang memberikan sertifikat email x509 gratis.

Yang sedang berkata, pertanyaan paling penting adalah: apa yang digunakan orang yang Anda bertukar email? Saya aktif di komunitas perangkat lunak bebas, jadi sebagian besar orang yang saya bertukar email menggunakan GPG. Satu-satunya yang saya tahu yang menggunakan S / MIME melakukannya pada email kantor mereka sebagai masalah kebijakan perusahaan.

Jika orang yang Anda kirimi email tidak menggunakan S / MIME, Anda tidak akan dapat mengenkripsi ke mereka, dan mereka tidak akan dapat memverifikasi email yang ditandatangani.

David
sumber