SSL.com

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
Poistu mobiiliversiosta