Jsign egy nyílt forráskódú, platformfüggetlen Java eszköz a Microsoft Authenticode kód aláírásához. A Jsign könnyen integrálható olyan összeállítási rendszerekkel, mint a Maven, a Gradle és az Ant, vagy közvetlenül a parancssorból is használható.
Ebben az útmutatóban kitérünk a használatra Jsign a Linux parancssorából OV / IV kód aláírás és a EV kód aláírása. Mivel a Jsign Java alapú, Windows és MacOS rendszereken is használhatja.
Telepítse a Jsign alkalmazást
Először le kell töltenie és telepítenie kell a Jsign programot. A Jsign weboldal tartalmaz linkeket a Debian és az RPM csomagokhoz az egyszerű telepítés érdekében a legnépszerűbb Linux rendszereken, valamint a .jar
fájlt.
OV / IV kód aláírás
Az OV/IV kódaláíráshoz használhat egy Java kulcstárolóban vagy PKCS#12 (PFX) fájlban tárolt tanúsítványt. Az alábbi kódpéldák mindegyikében cserélje ki a CSATLAKOZTATÁSOKBAN látható értékeket a tényleges értékekre.
- Először használja a
keytool
parancsot aalias
az aláíráskor használandó érték:keytool -list -v -kulcsbolt PKCS12 -FILE.p12 -tárlat típus PKCS12 -tárolás PKCS12 -JELSZÓ
- Ellenőrizze a
keytool
paranccsal kezdődő sorAlias name:
.Kulcstár típusa: PKCS12 Kulcstár szolgáltató: SUN A kulcstárad 1 bejegyzést tartalmaz Álnév: 1 Létrehozás dátuma: 18. január 2021. Bejegyzés típusa: PrivateKeyEntry Tanúsítványlánc hossza: 4 ...
A fenti példában
Alias name
is1
. - A fájl aláírásához és időbélyegzéséhez használja a következő parancsot:
jsign
parancs egész rendszerre telepítve:jsign --keystore KEYSTORE.p12 - alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
- Jsignerrel
.jar
file:java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- JEL
- Ha a parancsod sikeres, akkor a következő kimenetet kell látnod:
Authenticode aláírás hozzáadása az example.exe fájlhoz
Ha ezt a hibát tapasztalja:
The timestamp certificate does not meet a minimum public key length requirement
, vegye fel a kapcsolatot a szoftver szállítójával, hogy engedélyezze az időbélyegeket az ECDSA-kulcsokból.Ha a szoftvergyártó nem tudja engedélyezni a normál végpont használatát, használhatja ezt a régi végpontot.
http://ts.ssl.com/legacy
hogy időbélyeget kapjon egy RSA időbélyegző egységtől.EV kód aláírása
Használhatja a Jsign-t egy EV-kód aláíró tanúsítvánnyal is. Az itt látható példa egy SSL.com-t használ EV kód aláíró tanúsítvány telepítve a FIPS 140-2 hitelesített biztonsági kulcs USB-token.
- Először győződjön meg róla OpenSC telepítve van a rendszerére, így a PKCS # 11 API-n keresztül kommunikálhat a tokennel. Az olyan Debian-alapú disztrókon, mint az Ubuntu, telepítheti az OpenSC-t
apt
:sudo apt install opensc
- Ezután hozzon létre egy konfigurációs fájlt. A fájl neve tetszőleges, de az alábbi példaparancsokhoz használjuk
eToken.cfg
. Vegye figyelembe, hogy aopensc-pkcs11.so
változhat az OpenSC telepítésében, ezért ellenőrizze a konfigurációs fájl létrehozása előtt.név = OpenSC-PKCS11 leírás = SunPKCS11 az OpenSC könyvtáron keresztül = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
- Használja a
keytool
parancsot aalias
az aláíráskor használandó érték:keytool -list -v -keystore NINCS -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
- Ellenőrizze a
keytool
paranccsal kezdődő sorAlias name:
. Ha a token több tanúsítványt tartalmaz, ellenőrizze az érvényességi dátumokat és a kibocsátót a kimeneten a tanúsítvánnyal szemben. Ne feledje, hogy az SSL.com által a YubiKey-n kiállított EV-kód aláíró tanúsítványoknak álneve legyenCertificate for PIV Authentication
.Álnév: PIV-hitelesítési tanúsítvány bejegyzés típusa: PrivateKeyEntry Tanúsítványlánc hossza: 1 Tanúsítvány [1]: Tulajdonos: 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 = Magánszervezet, CN = SSL Corp, SORSZÁM = NV2, O = SSL Corp, L = Houston, ST = TX, C = USA Kibocsátó: CN = SSL.com EV kód aláíró köztes CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = USA sorozatszám: 93f57a3bac6570c781580f63172e17 Érvényes: péntek április 12 46:04:2020 EDT 17-ig: szombat április 12 46:04:2021 EDT XNUMX
- A fájl aláírásához és időbélyegzéséhez használja a következő parancsot:
jsign
parancs egész rendszerre telepítve:jsign --keystore eToken.cfg --alias "PIV hitelesítés tanúsítványa" - PKCS11 -típus - Storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FÁJL-CÍM
- Jsignerrel
.jar
file:java -jar jsign-3.1.jar --keystore eToken.cfg --alias "PIV hitelesítési tanúsítvány" --stípus PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FÁJL -ALÁÍRNI
- Ha a parancsod sikeres, akkor a következő kimenetet kell látnod:
Authenticode aláírás hozzáadása az example.exe fájlhoz
Ha ezt a hibát tapasztalja:
The timestamp certificate does not meet a minimum public key length requirement
, vegye fel a kapcsolatot a szoftver szállítójával, hogy engedélyezze az időbélyegeket az ECDSA-kulcsokból.Ha a szoftvergyártó nem tudja engedélyezni a normál végpont használatát, használhatja ezt a régi végpontot.
http://ts.ssl.com/legacy
hogy időbélyeget kapjon egy RSA időbélyegző egységtől.Ellenőrizze a digitális aláírást
- A Windows aláírás részleteinek megtekintésével ellenőrizheti, hogy a digitális aláírása érvényes-e.
- Ön is használja SignTool a Windows alatt a digitális aláírás ellenőrzéséhez.
signtool.exe ellenőrizze / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Fájl: C: \ Users \ Aaron Russell \ Desktop \ example.exe Index Algorithm Timestamp =========== ============================= 0 sha256 RFC3161 Sikeres ellenőrzés: C: \ Users \ Aaron Russell \ Desktop \ example.exe