Saya memiliki file EXE yang ingin saya tandatangani sehingga Windows tidak akan memperingatkan pengguna akhir tentang aplikasi dari "penerbit tidak dikenal". Saya bukan pengembang Windows. Aplikasi yang dimaksud adalah screensaver yang dihasilkan dari aplikasi yang menghasilkan aplikasi screensaver. Karena itu saya tidak memiliki pengaruh pada bagaimana file dihasilkan.
Saya sudah mengetahui bahwa saya akan memerlukan sertifikat penandatanganan kode dari CA seperti Verisign atau instantssl.com. Yang tidak saya mengerti adalah apa yang harus saya lakukan (jika memungkinkan) untuk menandatangani file EXE saya. Apa itu penjelasan sederhana?
Jawaban Mel Green membawa saya lebih jauh, tetapi signtool ingin saya menentukan sertifikat apa yang akan digunakan dalam kasus apa pun. Bisakah saya mendapatkan sertifikat penandatanganan kode gratis untuk menguji apakah ini akan bekerja untuk saya?
Tentukan jenis sertifikat mana yang benar. Sebagian besar situs hanya menyebutkan "penandatanganan kode" dan berbicara tentang menandatangani aplikasi yang sebenarnya dikompilasi oleh pengguna. Ini tidak terjadi pada saya.
sumber
Jawaban:
Anda dapat mencoba menggunakan Alat Masuk Microsoft
Anda mengunduhnya sebagai bagian dari SDK Windows untuk Windows Server 2008 dan .NET 3.5. Setelah diunduh, Anda dapat menggunakannya dari baris perintah seperti:
Ini menandatangani satu executable, menggunakan "sertifikat terbaik" yang tersedia. (Jika Anda tidak memiliki sertifikat, itu akan menampilkan pesan kesalahan SignTool.)
Atau Anda dapat mencoba:
Ini akan meluncurkan wizard yang akan memandu Anda saat menandatangani aplikasi Anda. (Opsi ini tidak tersedia setelah Windows SDK 7.0.)
Jika Anda ingin mendapatkan sertifikat yang dapat Anda gunakan untuk menguji proses penandatanganan yang dapat dieksekusi, Anda dapat menggunakan .NET tool Makecert .
Alat Pembuatan Sertifikat (Makecert.exe)
Setelah Anda membuat sertifikat Anda sendiri dan menggunakannya untuk menandatangani executable Anda, Anda harus menambahkannya secara manual sebagai Root Root CA untuk mesin Anda agar UAC memberi tahu pengguna yang menjalankannya bahwa itu dari sumber tepercaya. Penting . Menginstal sertifikat sebagai ROOT CA akan membahayakan privasi pengguna Anda. Lihat apa yang terjadi dengan DELL. Anda dapat menemukan lebih banyak informasi untuk mencapai ini baik dalam kode dan melalui Windows di:
Pertanyaan Stack Overflow Instal sertifikat ke penyimpanan sertifikat pengguna lokal Windows di C #
Menginstal Sertifikat yang Ditandatangani Sendiri sebagai CA Root Tepercaya di Windows Vista
Semoga itu memberikan beberapa informasi lebih bagi siapa pun yang mencoba melakukan ini!
sumber
Saya memiliki skenario yang sama dalam pekerjaan saya dan inilah temuan kami
Hal pertama yang harus Anda lakukan adalah mendapatkan sertifikat dan menginstalnya di komputer Anda, Anda dapat membeli satu dari Otoritas Sertifikat atau menghasilkan satu menggunakan makecert .
Berikut adalah pro dan kontra dari 2 opsi
Beli sertifikat
Hasilkan sertifikat menggunakan Makecert
Tanda tangani file yang dapat dieksekusi
Ada dua cara menandatangani file yang Anda inginkan:
Menggunakan sertifikat yang dipasang di komputer
signtool.exe sign / a MY s / sha1 sha1_thumbprint_value / t http://timestamp.verisign.com/scripts/timstamp.dll / v "C: \ filename.dll"
Menggunakan file sertifikat
signtool sign / tr http://timestamp.digicert.com / td sha256 / fd sha256 / f "c: \ path \ to \ mycert.pfx" / p pfxpassword "c: \ path \ to \ file.exe"
Uji Tanda Tangan Anda
Metode 1: Menggunakan signtool
Pergi ke: Mulai> Jalankan Jenis CMD> klik OK Pada prompt perintah, masukkan direktori di mana signtool ada. Jalankan yang berikut:
verifikasi signtool.exe / pa / v "C: \ filename.dll"
Metode 2: Menggunakan Windows
Klik kanan file yang ditandatangani Pilih Properti Pilih tab Tanda Tangan Digital. Tanda tangan akan ditampilkan di bagian Daftar tanda tangan.
Saya harap ini bisa membantu Anda
Sumber:
https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537361(v=vs.85)
https://www.digicert.com/code-signing/signcode-signtool-command-line.htm
https://knowledge.symantec.com/support/code-signing-support/index?page=content&id=SO15544&actp=search&viewlocale=en_US
https://msdn.microsoft.com/en-us/library/windows/desktop/aa386968(v=vs.85).aspx
sumber
Anda bisa mendapatkan sertifikat penandatanganan kode murah
gratisdari Certum jika Anda melakukan pengembangan sumber terbuka.Saya telah menggunakan sertifikat mereka selama lebih dari setahun, dan itu menghilangkan pesan penerbit yang tidak dikenal dari Windows.
Sejauh kode penandatanganan saya menggunakan signtool.exe dari skrip seperti ini:
sumber
Majalah ASP, ASPect, memiliki deskripsi terperinci tentang cara menandatangani kode (Anda harus menjadi anggota untuk membaca artikel). Anda dapat mengunduhnya melalui http://www.asp-shareware.org/
Berikut tautan ke deskripsi bagaimana Anda dapat membuat sertifikat pengujian Anda sendiri .
Ini mungkin juga menarik.
sumber
Opsi lain, jika Anda perlu menandatangani executable pada kotak Linux adalah dengan menggunakan signcode dari alat proyek Mono . Ini didukung di Ubuntu .
sumber
Referensi https://steward-fu.github.io/website/driver/wdm/self_sign.htm Catatan: signtool.exe dari Microsoft SDK
1. pertama kali (untuk membuat sertifikat pribadi)
Makecert -r -pe -ss YourName YourName.cer
certmgr.exe -menambahkan NamaAnda.cer -s -r root localMachine
2.Setelah (untuk menambahkan tanda Anda ke aplikasi Anda)
signtool sign / s YourName YourApp.exe
sumber
Dan pilihan lain, jika Anda mengembangkan pada Windows 10 tetapi tidak memiliki Microsoft signtool.exe diinstal, Anda dapat menggunakan Bash di Ubuntu pada Windows untuk menandatangani aplikasi Anda. Berikut ini adalah run down:
https://blog.synapp.nz/2017/06/16/code-signing-a-windows-application-on-linux-on-windows/
sumber
osslsigncode
juga tersedia di bawahcygwin
, jadi jika Anda sudah menggunakan itu (seperti saya), maka Anda dapat masuk ke lingkungan Anda saat ini, daripada perlu beralih ke WSL.Gunakan tautan berikut untuk menandatangani file .exe (setup / installer) (masuk file exe / setup tanpa menggunakan Microsoft setup signtool)
https://ebourg.github.io/jsign/#files
perintah sampel java -jar jsign-2.0.jar --keystore keystore.jks "--alias alias --storepass kata sandi MyInstaller.exe
Bekerja untuk saya :)
sumber
Ini bukan jawaban langsung untuk pertanyaan, tetapi terkait erat (dan saya harap berguna) karena cepat atau lambat seorang programmer akan meletakkan tangannya ke dalam dompet:
Jadi, harga untuk tanda tangan EV:
1 Tahun $ 350 + ($ 50 biaya tersembunyi)
2 Tahun $ 600
3 Tahun $ 750
[www.ksoftware.net] [3]
eToken dikirim sebagai stik USB. Tidak perlu pembaca.
Anda sebenarnya membeli dari Comodo (Sectigo)
1 Tahun 350 euro
3 Tahun 799 euro
sklep.certum.pl
1 Tahun $ 499 USD
3 Tahun $ 897 USD
sectigo.com
1 Tahun $ 410 total
2 Tahun $ 760 total
3 Tahun $ 950 total
www.globalsign.com
1 Tahun: $ 600 ($ 104)
3 Tahun:?
www.digicert.com
1 Tahun: $ 700
3 Tahun: mahal konyol
[ https://trustcenter.websecurity.symantec.com/]
Harga lebih lanjut di sini:
https://cheapsslsecurity.com/sslproducts/codesigningcertificate.html
Lihat juga tautan yang ditambahkan oleh Erick Castrillo: cheapsslsecurity.com/sslproducts/codesigningcertificate.html
sumber