Saya bermain dengan openssl untuk membuat kunci pub / prv dan membuat tanda tangan file dan memvalidasinya. Saya bermain-main dengan Cryptophane (windows gnupg frontend) dan mendengar tentang keyserver + dimainkan dengan teks penandatanganan.
Namun saya tidak pernah menandatangani arsip file. Jika saya ingin menerbitkan arsip (7z, rar atau zip, itu tidak masalah) dan saya ingin pengguna atau perangkat lunak saya dapat memeriksa apakah arsip itu telah ditandatangani, bagaimana saya melakukannya? Kunci publik jelas perlu tersedia untuk umum. Tetapi menambahkan tanda tangan ke arsip adalah hal yang menggangguku. Apakah ada arsip perangkat lunak + yang memungkinkan saya untuk menandatangani dan memverifikasi file arsip yang dikompresi?
Jawaban:
Metode yang umum adalah membuat tanda tangan terpisah dalam
.sig
file (biasanya tanda tangan PGP dengan menggunakangpg -b
- X.509 sangat jarang), dan menyediakan kedua file di lokasi yang sama. Sebagai contoh:Ini dapat digunakan dengan semua jenis file, tetapi pengguna harus memverifikasi tanda tangan secara manual
gpg --verify
.Sayangnya, di luar yang sedang digunakan, tidak ada format arsip (yang saya ketahui) memiliki dukungan untuk tanda tangan bawaan menggunakan PGP atau X.509. (Ini tidak termasuk CAB, yang digunakan oleh Windows secara internal tetapi praktis tidak ada tempat lain, dan agak rumit untuk ditandatangani). WinRAR 4 mampu menambahkan catatan "verifikasi keaslian" menggunakan format berpemilik, tetapi menggunakan lisensi WinRAR Anda sebagai kunci penandatanganan, yang telah berulang kali di-crack. (Pembaruan: Fitur ini telah dihapus dari WinRAR 5 karena rasa tidak aman.)
Di Windows (dan segera Mac OS X), dimungkinkan untuk membuat "arsip yang mengekstraksi sendiri" - file yang dapat dieksekusi yang ditandatangani secara digital yang mengekstrak arsip dari dalam dirinya sendiri - ini adalah contoh cara penginstal perangkat lunak pada Windows bekerja, misalnya. Namun, SFX terbatas pada sistem operasi tunggal, sehingga hanya cocok untuk mendistribusikan program , bukan dokumen atau gambar. (Program Java dapat ditandatangani dan bersifat lintas platform, tetapi beberapa sistem masih memiliki runtime Java.)
sumber
Jar-arsip, dibangun dengan alat jar Jawa, secara efektif zip-Archives, dan ada alat, jarsigner, untuk menandatanganinya.
Berikut ini beberapa tautan bermanfaat:
Terlihat agak rumit pertama ("Apa, saya perlu keeytool untuk? Apa lagi?") Tetapi mudah untuk mengikuti langkah-langkah untuk menyelesaikannya dengan cara yang sederhana. Berhasil. Lalu Anda bisa mencelupkan lebih dalam ke masalah ini.
sumber
manual verification
? Apa alternatifnya? Autopopup, yang memverifikasi sendiri setiap 10 menit? Haruskah OS secara otomatis memverifikasi arsip saat boot up? Ketika arsip diterima - baik itu dari CD, lampiran email, unduh, ...? Haruskah itu menjadi plugin di pemindai virus Anda?.deb
tanda tangan paket diverifikasidpkg
sebelum paket diinstal, tanpa pengguna mengambil tindakan tambahan apa pun.Tentu, setiap kali Anda menginstal perangkat lunak yang ditandatangani, Anda memverifikasi arsip yang ditandatangani. Untuk membuatnya, Anda harus menggunakan alat pengemasan yang sama yang digunakan pengembang. Ada beberapa tradeoff, kemudahan penggunaan terhadap kompatibilitas lintas platform. Saya tidak bisa memikirkan cara membuat lintas platform ditandatangani arsip penggalian diri.
Untuk windows, buat arsip pengekstrakan sendiri dengan alat iexpress, lalu tandatangani menggunakan signtool.exe, seperti dijelaskan di sini . Ketika pengguna Anda mengklik dua kali pada file tersebut, mereka akan memiliki jendela konfirmasi yang dikenal untuk mengidentifikasi Anda sebagai penerbit arsip.
sumber
Anda bisa menandatangani file menggunakan jarsigner dengan dua perintah ini:
Anda perlu menginstal java jdk di pc Anda.
-Perintah pertama membuat penyimpanan kunci dalam direktori saat ini (dengan asumsi itu belum ada). Ini menghasilkan pasangan kunci publik / pribadi menggunakan algoritma SHA-256.
-Yang kedua menandatangani file menggunakan algoritma yang sama, keystore dan alias yang dihasilkan oleh yang pertama.
Untuk memverifikasi file yang ditandatangani menggunakan penyimpanan kunci, Anda dapat menjalankan perintah ini:
sumber