Sertifikat penandatanganan kode untuk proyek sumber terbuka?

118

Saya ingin menerbitkan salah satu aplikasi saya sebagai open-source dan ingin menandatangani biner yang saya buat dengan sertifikat saya sendiri secara digital. (Tentu saja, siapa pun dapat mengunduh kode dan membuatnya sendiri dengan sertifikat mereka sendiri.) Saya ingin melakukan ini sehingga siapa pun dapat memeriksa bahwa bangunan ini dibuat oleh saya, bukan oleh orang lain. Saya juga ingin membuat situs web yang aman dengan sertifikat SSL yang valid sehingga pengunjung dapat membuat akun mereka sendiri dengan cara yang aman sehingga mereka dapat berkontribusi untuk proyek ini.

Saya dapat membuat sertifikat yang ditandatangani sendiri, tetapi saya tidak terlalu menyukai opsi itu. Atau saya dapat membayar Verisign beberapa keping emas untuk mendapatkan sertifikat yang hanya berlaku untuk beberapa tahun. Saya juga tidak suka opsi itu, karena harta saya sangat berharga bagi saya.

Jadi, apakah ada pilihan lain? Misalnya, penyedia yang mendukung proyek sumber terbuka dengan menawarkan sertifikat dengan harga yang lebih murah? Tidak harus gratis, hanya saja jauh lebih murah daripada Verisign ...

(Proyek dibuat di C # dengan Visual Studio 2008. Ditambah proyek tambahan di ASP.NET yang menginginkan SSL.)

Wim ten Brink
sumber
Pertanyaan ini tentang topik. Ini menjelaskan masalah (keinginan untuk mempublikasikan) dan apa yang telah dilakukan (aplikasi yang dibangun, tetapi tidak menandatanganinya). Itu tidak meminta rekomendasi, hanya nama satu atau lebih penyedia gratis atau berbiaya rendah. Itu memang meminta jawaban yang "menemukan" sumber daya di luar situs, tetapi tidak dengan cara yang cenderung menarik jawaban beropini atau spam, karena ada beberapa opsi yang tersedia.
Edward Brey
5
Saya ingin menunjukkan bahwa saya telah menanyakan pertanyaan ini hampir 8 tahun sekarang. Saat ini, sudah ada beberapa opsi lagi tetapi keandalan menjadi masalah. Ada juga banyak opsi gratis untuk SSL dan pengembangan web tetapi sertifikat penandatanganan kode masih langka ...
Wim ten Brink
1
Sayangnya LetsEncrypt tidak akan mendukung sertifikat penandatanganan kode . Mid 2018, termurah saya dapat menemukan adalah Comdo ini codesigncert sebesar $ 59 per anum. Akan jauh lebih mudah jika pemerintah mengeluarkan semua warga negara / subjek dengan sertifikat penandatanganan kode sebagai ID nasional ... tetapi kemudian saya akan dipaksa untuk mempercayai pemerintah saya
earcam

Jawaban:

9

Anda dapat mencoba CAcert . Dengan ini Anda mendapatkan sertifikasi oleh pengguna CAcert lainnya. CAcert memiliki sistem berbasis reputasi, jadi jika Anda cukup sering disertifikasi, sertifikat Anda dianggap valid.

Anda mungkin harus menambahkan CAcert sebagai otoritas tepercaya pada sistem target. Menandatangani sendiri file yang dapat dieksekusi harus menjadi opsi yang memadai, tetapi Anda harus memberikan sertifikat publik. Menggunakan otoritas yang dikenal dapat membantu memverifikasi file tetapi saya pikir itu sudah berakhir membunuh dalam kasus ini gunakan checksum atau hash sha2 file yang dikombinasikan dengan sertifikat yang ditandatangani sendiri. Anda dapat mengatur kotak linux sebagai CA namun mereka harus mempercayai sertifikat publik Anda.

Mnementh
sumber
48
Kelemahan CACert adalah bahwa CACert tidak disertakan secara default di browser utama mana pun ( wiki.cacert.org/InclusionStatus ), jadi pengalaman pengguna biasa tidak lebih baik dari pengalaman pengguna yang ditandatangani sendiri.
Kohsuke Kawaguchi
6
Selain itu, jika Anda tertarik untuk menandatangani file Windows yang dapat dieksekusi, ingatlah bahwa CACert tidak terdaftar dalam daftar Otoritas Sertifikasi (CA) yang merupakan anggota Program Sertifikat Root Windows , sementara Unizeto CERTUM adalah
user377486
Saya mencoba CAcert. Gambar ini merangkumnya: imgur.com/a/rNYqBme
selbie
Daftar CA yang diperbarui dapat ditemukan di ccadb-public.secure.force.com/microsoft/…
Erdogan Kurtur
35

Untuk pengembang sumber terbuka, Certum memberikan sertifikat penandatanganan kode secara gratis *

Cukup masukkan "pengembang sumber terbuka" di bidang "perusahaan" saat Anda meminta sertifikat. Itu dia.

Tautan ke sertifikat penandatanganan kode sumber terbuka ada di sini

[*] Mulai 2016, sertifikat Penandatanganan Kode Sumber Terbuka tidak lagi tersedia secara gratis. Sekarang menjadi layanan hanya berbayar.

Stefan
sumber
2
Pernah ke situs dan hanya dapat melihat sertifikat SSL, dapatkah Anda melakukan tautan dalam ke sertifikat penandatanganan kode?
Frozenskys
3
Mereka sepertinya tidak menawarkan ini lagi.
Chad
3
AFAIK mereka berhenti menawarkan sertifikat pengembang Open Source gratis. Kalau tidak, saya akan sangat menghargai tautan.
reiniero
15
Tampaknya sertifikat tidak lagi gratis - referensi ke penandatanganan kode sumber terbuka telah dihapus dari halaman sertifikat pengujian, dan sekarang ada halaman produk terpisah en.sklep.unizeto.pl/data-safety/code-signing-certificates/ … . Dengan € 14, mereka jauh lebih murah daripada sertifikat lainnya. Proses pendaftarannya tampaknya sama seperti saat mereka gratis juga.
Alex Warren
2
@quasoft itu adalah sertifikat SSL.
Nathan Osman
27

Pembaruan: Tidak lagi gratis, sekarang € 105.78 (per 19 Feb 2017). Biayanya lebih murah jika Anda sudah memiliki perangkat keras crypto mereka. FWIW, berikut adalah instruksi sebelumnya.


Untuk mendapatkan sertifikat penandatanganan kode gratis dari Certum / Unizeto untuk diri Anda sendiri sebagai individu, ikuti langkah-langkah berikut. Gunakan Internet Explorer atau Safari, karena mereka mendukung mekanisme pertukaran kunci.

  1. Jelajahi sertifikat ID Tes dan Penandatanganan Kode OpenSource , dan kirimkan formulir.

  2. Sertifikat akan muncul di bawah Activate Certificates . Klik Activate .

  3. Pergi melalui wizard aktivasi. Untuk Organisasi masukkan Pengembang Sumber Terbuka . Untuk Unit Organisasi , masukkan Penerbitan Perangkat Lunak .

  4. Anda akan mendapatkan email yang meminta bukti identitas. Balas dengan tautan ke proyek sumber terbuka dan gambar SIM Anda (atau dokumen lain yang diterima). Untuk melindungi privasi Anda, Anda harus mengenkripsi balasannya. * Cara mengenkripsi bervariasi menurut klien email. Untuk Outlook, pastikan Anda memiliki sertifikat email ( tersedia secara gratis ), dan aktifkan enkripsi .

  5. Dalam satu atau dua hari, Anda akan menerima email dengan tautan untuk mengambil sertifikat Anda. Anda harus membuka tautan dari komputer dan browser yang sama yang Anda gunakan untuk memulai proses.

* Meskipun email verifikasi dari Certum mengatakan untuk mengirim bukti [email protected], Certum juga menerima bukti yang dikirim ke alamat balasan [email protected], ke mana Anda dapat mengirim email terenkripsi.

Edward Brey
sumber
Bekerja dengan baik, terima kasih banyak! Apakah Anda tahu jika mereka memperbarui sertifikat secara gratis setelah periode 1 tahun? Ataukah ini hanya masa percobaan dan kemudian menjadi sertifikat berbayar?
Al-Khwarizmi
1
Setelah sekitar 10 bulan, Anda akan menerima email untuk mengingatkan Anda bahwa sertifikat Anda akan kedaluwarsa. Dalam surat itu mereka menyebutkan Anda dapat memperbarui, tetapi itu tidak berhasil (bagi saya 4 bulan yang lalu). Saya telah meminta sertifikat baru dengan cara yang sama seperti yang saya lakukan setahun sebelumnya, dan menerimanya. Singkatnya: Anda hanya meminta sertifikat baru setiap tahun.
Martijn Stolk
Dropdown negara sepertinya tidak mencantumkan Amerika Serikat lagi? Mendapat sertifikat pada tahun 2013 jadi dulu berfungsi untuk saya.
Kutil
Sudah mencoba ini. Sekarang sertifikat 90 hari. Tapi, tidak bisa melewati langkah "Activate" karena mengklik tombol "Generate Keys" tidak melakukan apa-apa, dan Next
memunculkan
Mereka tampaknya masih memiliki metode CSR. Bagaimana mereka bisa tahu apakah CSR dihasilkan oleh perangkat keras mereka atau tidak?
OCTAGRAM
22

Pembaruan 2016: StartCom telah diakuisisi oleh WoSign dalam keadaan yang dipertanyakan . Saya tidak akan mempercayai StartCom / WoSign. Pertimbangkan bawah teks sebagai catatan sejarah pada seberapa baik Startcom itu hingga awal 2015 .

Aku punya sertifikat penandatanganan kode dari Startcom (startssl). Saya sangat puas dengan layanan mereka: Layanan pelanggan mereka sangat cepat, dan harga mereka sangat wajar.

Mendapatkan sertifikat penandatanganan kode

Mendapatkan sertifikat penandatanganan kode memerlukan Validasi Identitas Kelas 2 . StartCom memandu Anda melalui seluruh proses (dengan tingkat respons yang sangat baik, biasanya dalam sepuluh menit menurut pengalaman saya).
Jika Anda ingin mendapatkan detailnya sekaligus, baca postingan blog ini . Saya divalidasi dalam waktu satu jam (dengan biaya $ 59,90, melalui Paypal).

Setelah divalidasi, buat kunci pribadi baru, dan Permintaan Penandatanganan Sertifikat (CSR). Perhatikan bahwa semua bidang kecuali kunci publik akan diabaikan . Semua informasi dalam sertifikat disimpulkan dari informasi yang Anda berikan selama validasi identitas, bukan dari CSR Anda .

# Create key and CSR (key must be at least 2048 bit, per Policy Statement)
openssl req -nodes -newkey rsa:2048 -keyout codesigning.key -out codesigning.csr
# Add pass phrase to key (optional, but highly recommended)
openssl rsa -in codesigning.key -des3 -out codesigning2.key && \
    mv codesigning2.key codesigning.key

Kirimkan ini melalui antarmuka web dan Anda akan segera mendapatkan sertifikat baru yang berlaku selama dua tahun (saya mendapatkan milik saya dalam waktu satu jam).

Masalah: OID Penandatanganan Seumur Hidup

Sertifikat kelas 2 StartCom memiliki set OID Penandatanganan Seumur Hidup. Karena bit ini, tanda tangan dari kode yang ditandatangani akan menjadi tidak valid setelah sertifikat kedaluwarsa, bahkan ketika stempel waktunya.

Ketika saya bertanya kepada Eddy Nigg (COO / CTO dari StartCom) untuk alasan OID ini, dia menjawab:

Kami mewajibkan CRL tetap beroperasi hingga 20 tahun setelah sertifikat kedaluwarsa. Ini adalah sesuatu yang dapat kami lakukan untuk sertifikat level EV (volume jauh lebih rendah, syarat pembayaran berbeda) tetapi akan menaikkan harga Kelas 2 hanya untuk keuntungan ini (di mana penandatanganan kode hanya sebagian dari opsi di level ini).

Dengan demikian, cap waktu hanya tersedia setelah Extended Validation (EV), yang hanya tersedia untuk organisasi yang didirikan secara legal dengan biaya $ 199,90. Jadi, pengembang individu tidak dapat menggunakan cap waktu dengan sertifikat penandatanganan kode dari StartCom .

Untuk waktu yang lama, saya menganggap batasan ini sebagai masalah besar. Baru-baru ini, saya berubah pikiran: Ini hanya terjadi sekali setiap dua tahun, pengguna yang berpikiran keamanan mungkin lebih cenderung mendapatkan versi terbaru dari perangkat lunak saya, dan versi lama dari perangkat lunak tersebut akan tetap berfungsi (bagi mereka yang ingin menggunakannya; meskipun tanpa tanda tangan terverifikasi).

Catatan: Selalu beri stempel waktu pada kode Anda, bahkan ketika tanda penandatanganan Lifetime disetel ! Tanda tangan dengan stempel waktu akan tetap valid hingga tanggal kedaluwarsa sertifikat, meskipun sertifikat telah dicabut (jelas, hanya jika tanda tangan dibuat sebelum sertifikat dicabut).

Penggunaan sertifikat secara praktis

Di StartCom, Anda hanya membayar untuk validasi. Validasi identitas berlaku selama 350 hari, dan selama periode ini, Anda dapat meminta sertifikat penandatanganan kode secara gratis. Anda hanya dapat memiliki satu sertifikat penandatanganan kode yang valid, dan dapat digunakan untuk menandatangani kode apa pun (MSI, DLL, XPI, ...) tetapi tidak untuk kode driver (ini memerlukan EV).

Untuk mengubah atribut pada sertifikat, sertifikat sebelumnya harus dicabut dan yang baru diminta. Pencabutan sertifikat biaya $ 29,90. Meskipun ketika saya mengubah email saya sehari setelah mendapatkan sertifikat penandatanganan kode, mereka secara luar biasa mencabut sertifikat saya tanpa biaya (saya sangat terkejut)!

Kedaluwarsa

Ketika sertifikat Anda akan kedaluwarsa (setelah hampir dua tahun), Anda mendapatkan pemberitahuan (dua minggu sebelumnya). Jika identitas terverifikasi Anda masih valid (ingat bahwa validasi kedaluwarsa setelah 350 hari; maka Anda harus mengkonfirmasi identitas Anda lagi untuk 59,90 $), Anda dapat meminta sertifikat baru tanpa mencabut yang sebelumnya. Jangan lupa untuk menerbitkan rilis baru perangkat lunak Anda yang ditandatangani dengan sertifikat penandatanganan kode baru ini, karena rilis sebelumnya akan segera menampilkan "(tidak diverifikasi)" atau yang serupa.

OCSP

Ketika saya menerima sertifikat saya, saya menandatangani add-on Firefox saya. Namun, itu masih menunjukkan "(Penulis tidak diverifikasi)", meskipun file XPI saya ditandatangani dengan benar. Ternyata Firefox tidak mendapatkan status sertifikat saat ini ketika menanyakan server OCSP StartCom tentang status pencabutan sertifikat baru saya. topik forum yang mungkin relevan

Setelah sekitar setengah hari, sertifikat saya diketahui oleh server OCSP, dan nama saya muncul seperti yang diharapkan. Hal yang dipelajari: Saat Anda mendapatkan sertifikat baru, tunggu sekitar satu hari sebelum menerbitkan perangkat lunak Anda dengan tanda tangan baru.

Rob W.
sumber
1
Terima kasih atas wawasan tentang penandatanganan seumur hidup dan "hanya satu sertifikat penandatanganan kode aktif". Layak untuk diketahui. Saya berencana melakukan ini suatu hari nanti, dan saya pikir saya masih ingin melakukannya. Sudah menggunakan sertifikat SSL gratis.
ygoe
2
Pembaruan di StartCom: Sertifikat kode sekarang tidak menetapkan OID Penandatanganan Seumur Hidup. Mereka sekarang sebagus setiap sertifikat penandatanganan kode lainnya. Untuk validasi organisasi, bahkan ada penandatanganan kode kernel yang disertakan.
Josef mengatakan Reinstate Monica
8

Anda juga dapat memeriksa KSoftware . Mereka menjual kembali sertifikat penandatanganan kode Comodo seharga US $ 99 / tahun.

Joe Kuemerle
sumber
1
Saya telah berhasil menggunakannya di masa lalu. Tucows juga adalah reseller, dan jika Anda melakukan kesepakatan multi-tahun, saya rasa Anda bisa mendapatkannya selama sekitar 70 tahun.
EricLaw
KSoftware memiliki layanan yang hebat, sementara Comodo tidak baik, orang-orang di KSoftware cepat menjawab, saya tidak terkait, hanya pelanggan yang senang.
digitai
1
Saya baru saja membeli sertifikat dengan KSoftware, tetapi saya masih belum menyelesaikan proses validasi, tim validasi Comodo terus meminta nomor telepon saya tetapi Tatap Muka tidak mengatakan itu wajib.
Nicke Manarin
1
Saya baru saja membeli sertifikat penandatanganan kode dari K Software karena perbedaan harganya sangat besar: $ 75 per tahun, bukan $ 175 per tahun. Saya akan mencoba dan memposting pembaruan di sini setelah saya melalui validasi dan penerbitan. Naluri saya, bagaimanapun, mengatakan bahwa mungkin sepadan untuk membayar ekstra $ 100 dan langsung pergi dengan Comodo. Saya akan memberi tahu Anda bagaimana kelanjutannya ...
Joshua Pinter
1
Pembaruan: Saya mencoba melalui pengacara kami untuk menyelesaikan dokumen yang diperlukan, tetapi mereka mengatakan itu akan menghabiskan biaya sekitar $ 1.500 untuk melakukannya. Jadi kami memilih untuk mendaftar dengan D & B.com untuk mendapatkan nomor DUNS dan menggunakannya sebagai "verifikasi" bahwa kami ada. Kami memilikinya sekarang tetapi itu menyebalkan dan membutuhkan waktu sekitar satu bulan untuk menyelesaikannya dari awal hingga akhir. Jika Anda sedang terburu-buru, saya akan melihat penyedia yang berbeda, seperti digicert.com. (Karena itu, saya tidak yakin apakah mereka berbeda / lebih baik.)
Joshua Pinter
8

Anda bisa melihat- lihat produk StartSSL .

Catatan StartSSL sekarang telah ditutup dan tidak lagi mengeluarkan sertifikat.

Frozenskys
sumber
4
Lucu. Google Chrome melaporkan kepada saya bahwa beginsl.com memiliki sertifikat yang tidak valid dan memperingatkan saya tentang risiko melanjutkan ke situs ini. :-) Saya melanjutkan. Tampak oke.
Wim ten Brink
1
Jika Anda menambahkan sertifikat CA Root dari startll, ini akan hilang. Saya percaya bahwa FireFox 3+ dikirimkan dengan sertifikat CA
bawaan ini
46
Selalu menyenangkan untuk mengimpor CA Root. Agak mengalahkan seluruh tujuan memilikinya.
Matthew Whited
3
StartSSL adalah CA gratis pertama (satu-satunya) dengan RootCA di Windows Vista +. Ada pembaruan sertifikat untuk versi Windows yang lebih lama yang menyertakannya juga afaik. Mengapa Chrome tidak memilikinya sebagai RootCA atau fallback ke Windows untuk diperiksa hanyalah masalah Chrome.
Robert MacLean
6
Sertifikat penandatanganan kode BTW StartSSL adalah beta dan perlu diverifikasi (yang saat ini tidak gratis $ 50)
Robert MacLean