Microsoft Authenticode Code Signing Linuxissa Jsignin avulla

Jsign on avoimen lähdekoodin, alustasta riippumaton Java-työkalu Microsoft Authenticode -koodin allekirjoittamiseen. Jsign on helppo integroida rakennusjärjestelmiin, kuten Maven, Gradle ja Ant, tai sitä voidaan käyttää suoraan komentoriviltä.

Tässä ohjeessa käsitellään käyttöä Jsign : n Linux-komentoriviltä OV / IV-koodin allekirjoittaminen ja EV-koodin allekirjoittaminen. Koska Jsign on Java-pohjainen, voit käyttää sitä myös Windows- ja MacOS-järjestelmissä.

Asenna Jsign

Ensin sinun on ladattava ja asennettava Jsign. Jsign-verkkosivusto sisältää linkit Debian- ja RPM-paketteihin helppoon asennukseen suosituimpiin Linux-järjestelmiin sekä a .jar tiedosto.

OV / IV -koodien allekirjoittaminen

Tämä osio koskee vain yksilöllisen validoinnin (IV) ja organisaation validoinnin (OV) koodin allekirjoitusvarmenteita, jotka on tilattu ennen 1. 1. kesäkuuta 2023 alkaenSSL.comin IV- ja OV-koodin allekirjoitusvarmenteita on alettu myöntää joko Federal Information Processing Standard 140-2 (FIPS 140-2) USB-tunnuksilla tai eSigner-pilvikoodiallekirjoituspalvelumme kautta. 

OV/IV-koodin allekirjoittamiseen voit käyttää Java-avainsäilöön tai PKCS#12 (PFX) -tiedostoon tallennettua varmennetta. Korvaa kaikissa alla olevissa koodiesimerkeissä ALL-CAPS-merkityt arvot todellisilla arvoillasi.

  1. Käytä ensin keytool komento saada alias arvo, jota käytetään allekirjoitettaessa:
    avaintyökalulista -v -avainvarasto PKCS12-FILE.p12 -tyyppityyppi PKCS12 -tallennustila PKCS12-SALASANA
  2. Tarkista laitteen tulos keytool komento riville, joka alkaa Alias name:.
    Avaimenvaraston tyyppi: PKCS12 Avaimenvaraaja: SUN Avaimesi varastossa on 1 merkintä Alias-nimi: 1 Luontipäivä: 18. tammikuuta 2021 Merkinnän tyyppi: PrivateKeyEntry-sertifikaatin ketjun pituus: 4 ...

    Yllä olevassa esimerkissä Alias name is 1.

  3. Käytä seuraavanlaista komentoa tiedoston allekirjoittamiseen ja aikaleimaan:
    • jsign komento asennettu koko järjestelmään:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --tyyppityyppi PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Jsignerin kanssa .jar tiedosto:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --tyypityyppi PKCS12 --storepass PKCS12-SALASANA --tsaurl http://ts.ssl.com --tsmode RFC3161 TIEDOSTO MERKKI
  4. Jos komentosi onnistuu, sinun pitäisi nähdä seuraavanlainen lähtö:
    Authenticode-allekirjoituksen lisääminen esimerkkiin.exe
Huomautus: Oletusarvoisesti SSL.com tukee ECDSA-avaimien aikaleimoja.

Jos kohtaat tämän virheen: The timestamp certificate does not meet a minimum public key length requirement, ota yhteyttä ohjelmiston myyjään salliaksesi aikaleimat ECDSA-avaimista.

Jos ohjelmistotoimittajasi ei voi sallia normaalin päätepisteen käyttöä, voit käyttää tätä vanhaa päätepistettä http://ts.ssl.com/legacy saadaksesi aikaleiman RSA-aikaleimayksiköstä.

EV-koodin allekirjoittaminen

Voit käyttää Jsignia myös EV-koodin allekirjoitusvarmenteen kanssa. Tässä esimerkissä käytetään SSL.com: ta EV-koodin allekirjoitusvarmenne asennettu FIPS 140-2 -suojausavaimen USB-tunniste.

  1. Varmista ensin OpenSC on asennettu järjestelmääsi, jotta se voi kommunikoida tunnuksesi kanssa PKCS # 11 -sovellusliittymän kautta. Debian-pohjaisiin distroihin, kuten Ubuntu, voit asentaa OpenSC: n apt:
    sudo apt install opensc
  2. Luo sitten määritystiedosto. Tiedoston nimi on mielivaltainen, mutta käytämme alla olevia esimerkkikomentoja eToken.cfg. Huomaa, että polku opensc-pkcs11.so saattaa vaihdella OpenSC-asennuksessa, joten tarkista ennen määritystiedoston luomista.
    nimi = OpenSC-PKCS11 kuvaus = SunPKCS11 OpenSC-kirjaston kautta = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Käytä keytool komento saada alias arvo, jota käytetään allekirjoitettaessa:
    keytool -list -v -avainvarasto NONE -storetype PKCS11 -storepass TOKEN -PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Tarkista laitteen tulos keytool komento riville, joka alkaa Alias name:. Jos tunnuksesi sisältää useita varmenteita, tarkista tulosteessa olevat voimassaolopäivät ja myöntäjä varmenteesi kanssa. Huomaa, että SSL: n YubiKeylle myönnettyjen EV-koodin allekirjoitustodistusten alias-nimi on Certificate for PIV Authentication.
    Aliaksen nimi: Sertifikaatti PIV-todennusmerkinnän tyypille: PrivateKeyEntry Sertifikaattiketjun pituus: 1 Sertifikaatti [1]: Omistaja: 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 = Yksityinen organisaatio, CN = SSL Corp, SARJANUMERO = NV2, O = SSL Corp, L = Houston, ST = TX, C = USA Liikkeeseenlaskija: CN = SSL.com EV-koodin allekirjoittamisen välituote CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US-sarjanumero: 93f57a3bac6570c781580f63172e17 Voimassa: pe 12. huhtikuuta 46:04:2020 EDT 17 asti: la 12. huhtikuuta 46:04:2021 EDT XNUMX
  5. Käytä seuraavanlaista komentoa tiedoston allekirjoittamiseen ja aikaleimaan:
    • jsign komento asennettu koko järjestelmään:
      jsign --keystore eToken.cfg --alias "PIV-todennuksen varmenne" - tyyppityyppi PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 TIEDOSTO-MERKINTÄ
    • Jsignerin kanssa .jar tiedosto:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificate for PIV Authentication" --tyyppityyppi PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE -ALLEKIRJOITTAA
  6. Jos komentosi onnistuu, sinun pitäisi nähdä seuraavanlainen lähtö:
    Authenticode-allekirjoituksen lisääminen esimerkkiin.exe
Huomautus: Oletusarvoisesti SSL.com tukee ECDSA-avaimien aikaleimoja.

Jos kohtaat tämän virheen: The timestamp certificate does not meet a minimum public key length requirement, ota yhteyttä ohjelmiston myyjään salliaksesi aikaleimat ECDSA-avaimista.

Jos ohjelmistotoimittajasi ei voi sallia normaalin päätepisteen käyttöä, voit käyttää tätä vanhaa päätepistettä http://ts.ssl.com/legacy saadaksesi aikaleiman RSA-aikaleimayksiköstä.

Tarkista digitaalinen allekirjoitus

  1. Voit tarkistaa digitaalisen allekirjoituksesi kelpoisuuden tarkastelemalla allekirjoituksen tietoja Windowsissa.
    Digitaalinen allekirjoitus on ok
  2. Voit myös käyttää SignTool Windowsissa digitaalisen allekirjoituksen vahvistamiseksi.
    signtool.exe tarkistaa / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Tiedosto: C: \ Users \ Aaron Russell \ Desktop \ example.exe Hakemistoalgoritmin aikaleima =========== ============================= 0 sha256 RFC3161 Vahvistettu onnistuneesti: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Tilaa SSL.com: n uutiskirje

Älä missaa uusia SSL.com -artikkeleita ja päivityksiä

Pysy ajan tasalla ja turvassa

SSL.com on maailman johtava kyberturvallisuuden johtaja, PKI ja digitaaliset sertifikaatit. Rekisteröidy saadaksesi viimeisimmät alan uutiset, vinkit ja tuoteilmoitukset SSL.com.

Otamme mielellämme palautetta vastaan

Vastaa kyselyymme ja kerro meille mielipiteesi viimeaikaisesta ostoksestasi.