J işareti Microsoft Authenticode kod imzalama için açık kaynaklı, platformdan bağımsız bir Java aracıdır. Jsign, Maven, Gradle ve Ant gibi derleme sistemlerine kolayca entegre edilebilir veya doğrudan komut satırından kullanılabilir.
Bu nasıl yapılır bölümünde J işareti Linux komut satırından OV / IV kod imzalama ve EV kod imzalama. Jsign Java tabanlı olduğundan, onu Windows ve MacOS sistemlerinde de kullanabilirsiniz.
Jsign'ı yükleyin
Öncelikle, Jsign'ı indirip yüklemeniz gerekir. Jsign web sitesi en popüler Linux sistemlerinde kolay kurulum için Debian ve RPM paketlerine bağlantılar içerir. .jar
dosyası.
OV / IV Kod İmzalama
OV/IV kod imzalama için Java anahtar deposunda veya PKCS#12 (PFX) dosyasında saklanan bir sertifikayı kullanabilirsiniz. Aşağıdaki tüm kod örneklerinde, TAMAMI BÜYÜK HARFLERLE gösterilen değerleri gerçek değerlerinizle değiştirin.
- İlk önce
keytool
almak için komutalias
imzalarken kullanılacak değer:keytool -list -v -anahtar deposu PKCS12-DOSYA.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
- Çıktısını kontrol edin
keytool
ile başlayan bir satır için komutAlias name:
.Anahtar deposu tipi: PKCS12 Anahtar deposu sağlayıcısı: SUN Anahtar deponuz 1 giriş içeriyor Takma adı: 1 Oluşturma tarihi: 18 Ocak 2021 Giriş türü: PrivateKeyEntry Sertifika zinciri uzunluğu: 4 ...
Yukarıdaki örnekte,
Alias name
is1
. - Bir dosyayı imzalamak ve zaman damgası eklemek için aşağıdaki gibi bir komut kullanın:
jsign
sistem genelinde yüklü komut:jsign --keystore KEYSTORE.p12 - takma ad ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
- Jsigner ile
.jar
Dosya:java -jar jsign-3.1.jar --keystore KEYSTORE.p12 - takma ad ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- İŞARET
- Komutunuz başarılıysa, aşağıdaki gibi çıktı görmelisiniz:
Example.exe'ye Authenticode imzası ekleme
Bu hatayla karşılaşırsanız:
The timestamp certificate does not meet a minimum public key length requirement
, ECDSA anahtarlarından zaman damgalarına izin vermek için yazılım satıcınızla iletişime geçmelisiniz.Yazılım satıcınızın normal uç noktanın kullanılmasına izin vermesinin bir yolu yoksa, bu eski uç noktayı kullanabilirsiniz.
http://ts.ssl.com/legacy
RSA Zaman Damgası Birimi'nden bir zaman damgası almak için.EV Kod İmzalama
Jsign'ı bir EV kod imzalama sertifikasıyla da kullanabilirsiniz. Buradaki örnek bir SSL.com kullanıyor EV kod imzalama sertifikası yüklü FIPS 140-2 onaylı güvenlik anahtarı USB belirteci.
- Önce emin olun OpenSC sisteminize kurulur, böylece belirtecinizle PKCS # 11 API üzerinden iletişim kurabilir. Ubuntu gibi Debian tabanlı dağıtımlarda OpenSC'yi aşağıdakilerle yükleyebilirsiniz:
apt
:sudo apt kurulumu opensc
- Ardından, bir yapılandırma dosyası oluşturun. Dosyanın adı keyfi, ancak aşağıdaki örnek komutlar için kullanacağız
eToken.cfg
. Yolunopensc-pkcs11.so
OpenSC kurulumunuzda değişiklik gösterebilir, bu nedenle yapılandırma dosyasını oluşturmadan önce kontrol edin.name = OpenSC-PKCS11 description = OpenSC kitaplığı aracılığıyla SunPKCS11 = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
- Kullan
keytool
almak için komutalias
imzalarken kullanılacak değer:keytool -list -v -keystore YOK -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
- Çıktısını kontrol edin
keytool
ile başlayan bir satır için komutAlias name:
. Jetonunuz birden fazla sertifika içeriyorsa, sertifikanızla ilgili olarak çıktıdaki geçerlilik tarihlerini ve vereni kontrol edin. YubiKey'de SSL.com'dan verilen EV kodu imzalama sertifikalarının takma adı olması gerektiğini unutmayın.Certificate for PIV Authentication
.Takma ad: PIV Kimlik Doğrulaması için Sertifika Giriş türü: PrivateKeyEntry Sertifika zinciri uzunluğu: 1 Sertifika [1]: Sahip: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Özel Kuruluş, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = ABD Düzenleyen: CN = SSL.com EV Kod İmzalama Aracı CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Seri numarası: 93f57a3bac6570c781580f63172e17 Geçerlilik tarihi: 12 Nisan Cuma 46:04:2020 EDT 17 tarihine kadar: Cts Nis 12 46:04:2021 EDT XNUMX
- Bir dosyayı imzalamak ve zaman damgası eklemek için aşağıdaki gibi bir komut kullanın:
jsign
sistem genelinde yüklü komut:jsign --keystore eToken.cfg --alias "PIV Kimlik Doğrulaması Sertifikası" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
- Jsigner ile
.jar
Dosya:java -jar jsign-3.1.jar --keystore eToken.cfg --alias "PIV Kimlik Doğrulama Sertifikası" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 DOSYASI -İMZALAMAK
- Komutunuz başarılıysa, aşağıdaki gibi çıktı görmelisiniz:
Example.exe'ye Authenticode imzası ekleme
Bu hatayla karşılaşırsanız:
The timestamp certificate does not meet a minimum public key length requirement
, ECDSA anahtarlarından zaman damgalarına izin vermek için yazılım satıcınızla iletişime geçmelisiniz.Yazılım satıcınızın normal uç noktanın kullanılmasına izin vermesinin bir yolu yoksa, bu eski uç noktayı kullanabilirsiniz.
http://ts.ssl.com/legacy
RSA Zaman Damgası Birimi'nden bir zaman damgası almak için.Dijital İmzayı Doğrulayın
- Windows'ta imza ayrıntılarını görüntüleyerek dijital imzanızın geçerli olduğunu doğrulayabilirsiniz.
- Ayrıca kullanabilirsiniz Signtool Windows'ta dijital imzayı doğrulamak için.
signtool.exe doğrulayın / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Dosya: C: \ Users \ Aaron Russell \ Desktop \ example.exe Dizin Algoritma Zaman Damgası =========== ============================= 0 sha256 RFC3161 Başarıyla doğrulandı: C: \ Users \ Aaron Russell \ Desktop \ example.exe