Free Code Signer za digitalno podpisovanje Windows programov z YubiKey, HSM in Microsoft SignTool

Free Code Signer v1.7.0 – Azure, Google Cloud KMS, Jsign in JAR podpisovanje

Free Code Signer v1.7.0 je največja nadgradnja programa do zdaj. Orodje, ki je bilo prvotno namenjeno predvsem poenostavitvi dela z Microsoft SignTool in strojno zaščitenimi Code Signing certifikati, je z različico 1.7.0 preraslo v precej širši vmesnik za lokalno, strojno in oblačno podpisovanje programske kode.

Nova različica poleg klasičnega Microsoft SignTool podpira še Azure Artifact Signing, Google Cloud KMS in Jsign, dodano je podpisovanje Java JAR datotek, pametni profili končnic, vgrajena pomoč, pomnjenje jezika in posodobljenih vseh 25 jezikov uporabniškega vmesnika.

Na kratko – kaj prinaša Free Code Signer v1.7.0?
  • Microsoft SignTool / Windows Certificate Store
  • Azure Artifact Signing
  • Google Cloud KMS
  • univerzalni Jsign način
  • HSM, PKCS#11 in strojno zaščiteni ključi
  • YubiKey / PIV scenariji
  • podpisovanje Java .jar datotek
  • profili datotek Standardno, Razširjeno, Razširjeno + JAR in Po meri
  • časovni žig in preverjanje podpisov
  • vgrajena offline pomoč s tipko F1
  • 25 jezikov in pomnjenje zadnjega izbranega jezika

Če Free Code Signer že poznate iz našega prejšnjega članka, je različica 1.7.0 neposredno nadaljevanje iste ideje: podpisovanje kode naj ostane pregledno in čim bolj enostavno, tudi ko se uporabljajo sodobni HSM in cloud sistemi.

Free Code Signer v1.7.0 – glavno okno za podpisovanje datotek
Free Code Signer v1.7.0 – glavno okno programa.

Kaj je novega v Free Code Signer v1.7.0?

Glavna sprememba ni samo nov gumb ali nekaj dodatnih nastavitev. Program je dobil nov sloj za izbiro načina podpisovanja. Uporabnik lahko glede na svoje okolje izbere klasični SignTool ali enega od novih cloud oziroma Jsign načinov.

Free Code Signer – izbira načina podpisovanja SignTool Azure Google Cloud KMS ali Jsign
Izbira načina podpisovanja v različici 1.7.0.

1. Microsoft SignTool ostaja

Obstoječi način dela z Microsoft SignTool ostaja na voljo. To je pomembno za vse uporabnike, ki že uporabljajo Code Signing certifikat v Windows Certificate Store, na YubiKey/PIV napravi ali v združljivem HSM okolju.

Nadgradnja na v1.7.0 zato ne pomeni, da je treba obstoječi postopek spreminjati. Novi načini so dodatna možnost, ki jo uporabnik uporabi samo, kadar jo potrebuje.

2. Azure Artifact Signing

Free Code Signer v1.7.0 dodaja podporo za Microsoft Azure Artifact Signing. Namen takšnega pristopa je, da podpisni ključ ni shranjen kot običajna lokalna datoteka, temveč ostane zaščiten v podpisni infrastrukturi ponudnika.

V programu je za Azure na voljo ločeno konfiguracijsko okno, kjer se določijo podatki, potrebni za povezavo z ustreznim Azure podpisnim okoljem.

Free Code Signer – nastavitve Azure Artifact Signing
Nastavitve za Microsoft Azure Artifact Signing.

3. Google Cloud KMS

Dodana je tudi možnost uporabe Google Cloud KMS. Pri tem načinu je zasebni ključ zaščiten v Google Cloud okolju, Free Code Signer pa podpisni postopek poveže prek Jsign.

To je uporabno predvsem v okoljih, kjer organizacija že uporablja centralizirano upravljanje ključev ali želi zmanjšati odvisnost od lokalno nameščenega podpisnega certifikata.

Free Code Signer – nastavitve Google Cloud KMS
Konfiguracija Google Cloud KMS podpisovanja.

4. Jsign – univerzalnejši način podpisovanja

Ena pomembnejših novosti v1.7.0 je Jsign integracija. Namesto dodajanja posebnega programskega modula za vsakega novega ponudnika lahko Jsign služi kot povezovalni sloj za več različnih podpisnih okolij.

Odvisno od uporabljene infrastrukture lahko tak pristop omogoča delo z različnimi KMS, HSM, PKCS#11, hardware-token in oddaljenimi podpisnimi storitvami.

Free Code Signer – nastavitve Jsign ponudnika za Code Signing
Osnovna konfiguracija Jsign v Free Code Signerju.
Free Code Signer – konfiguracija Jsign ponudnika in ključa
Nastavitve ponudnika, ključa in pripadajočih parametrov.
Free Code Signer – dodatne možnosti Jsign podpisovanja
Dodatne možnosti univerzalnega Jsign načina.

Kako je z JAR datotekami?

Java .jar datoteke so poseben primer. JAR ne uporablja Windows Authenticode podpisa na enak način kot EXE ali DLL, zato datoteke ni pravilno samo dodati na seznam končnic in jo poslati Microsoft SignToolu.

Free Code Signer zato JAR datoteke obravnava ločeno in za podpis uporabi Java orodje jarsigner. Za to funkcionalnost je potreben ustrezen JDK.

Uporabnik lahko kljub različnemu mehanizmu izbere profil Razširjeno + JAR in s tem v enem delovnem postopku zajame tako Windows datoteke kot JAR datoteke. Program nato posamezni tip datoteke usmeri v ustrezen podpisni postopek.

Ni več treba poznati vseh možnih končnic

V starejših različicah je bilo mogoče seznam končnic ročno zapisati, na primer exe;dll;msi;ocx. Ta možnost ostaja, dodani pa so prednastavljeni profili datotek.

  • Standardno – najpogostejši tipi datotek za Code Signing.
  • Razširjeno – širši nabor podprtih formatov.
  • Razširjeno + JAR – razširjeni profil z Java JAR datotekami.
  • Po meri – popoln ročni nadzor nad seznamom končnic.
Free Code Signer – profili končnic Standardno Razširjeno in JAR
Prednastavljeni profili datotek zmanjšajo potrebo po ročnem vpisovanju končnic.

Napredne nastavitve

Ker cloud in Jsign načini zahtevajo več nastavitev kot klasičen SignTool, je različica 1.7.0 dobila tudi ločeno okno za napredne nastavitve. Tam se določajo poti in parametri, potrebni za Java/Jsign oziroma posameznega ponudnika.

Free Code Signer v1.7.0 – napredne nastavitve podpisovanja
Napredne nastavitve za nove podpisne načine.

Časovni žig – še vedno pomemben del Code Signinga

Pri produkcijskem podpisovanju je priporočljiva uporaba časovnega žiga oziroma timestampa. Časovni žig omogoča preverjanje, da je bil podpis ustvarjen v času, ko je bil podpisni certifikat veljaven.

V Free Code Signerju ostaja timestamp del podpisnega postopka in ga je mogoče prilagoditi glede na uporabljeni podpisni način in strežnik.

Free Code Signer – nastavitve časovnega žiga timestamp
Nastavitve časovnega žiga v Free Code Signerju.

Nova vgrajena pomoč – F1

Ker je program z različico 1.7.0 precej zmogljivejši, smo dodali tudi vgrajeno offline pomoč. Odpre se z gumbom Pomoč ali s tipko F1.

Pomoč vsebuje navodila za:

  • hiter začetek,
  • Microsoft SignTool,
  • Azure Artifact Signing,
  • Google Cloud KMS,
  • Jsign,
  • JAR podpisovanje,
  • profile datotek,
  • časovni žig,
  • preverjanje podpisov,
  • pogoste napake in
  • varnostna priporočila.
Free Code Signer v1.7.0 – vgrajena pomoč za uporabo
Vgrajena pomoč deluje neposredno v programu in ne zahteva internetne povezave.

25 jezikov in pomnjenje zadnje izbire

V različici 1.7.0 so bila posodobljena besedila za vseh 25 jezikov uporabniškega vmesnika. Dodana je tudi majhna, a uporabna izboljšava: program si zapomni zadnji izbrani jezik in ga ob naslednjem zagonu samodejno ponovno uporabi.

Free Code Signer – izbira med 25 jeziki uporabniškega vmesnika
Free Code Signer v1.7.0 vključuje 25 jezikov uporabniškega vmesnika.

Primer angleškega uporabniškega vmesnika:

Free Code Signer v1.7.0 – angleški uporabniški vmesnik
Free Code Signer v1.7.0 v angleškem jeziku.

Navodila za uporabo Free Code Signer v1.7.0

1. Izberite mapo

Najprej izberite korensko mapo z datotekami, ki jih želite pregledati oziroma podpisati.

2. Izberite način podpisovanja

Izberite Microsoft SignTool, Azure Artifact Signing, Google Cloud KMS ali Jsign – glede na certifikat in infrastrukturo, ki jo uporabljate.

3. Nastavite certifikat oziroma ponudnika

Pri klasičnem SignTool načinu izberite certifikat. Pri cloud oziroma Jsign načinu odprite nastavitve ponudnika in vnesite potrebne podatke.

4. Izberite profil datotek

Za običajen Windows Code Signing lahko uporabite standardni profil. Če želite vključiti več formatov, izberite Razširjeno. Za Java datoteke izberite Razširjeno + JAR. Seznam je še vedno mogoče ročno prilagoditi.

5. Nastavite timestamp

Za produkcijske podpise priporočamo uporabo zaupanja vrednega timestamp strežnika.

6. Skenirajte datoteke

Program pregleda mapo in pripravi seznam datotek, ki ustrezajo izbranemu profilu oziroma seznamu končnic.

7. Preglejte obstoječe podpise

Pred podpisovanjem preverite stanje datotek. To je posebej pomembno pri prehodu na nov certifikat, nov cloud provider ali pri prvem podpisovanju novega tipa datotek.

8. Zaženite podpisovanje

Po preverjanju lahko podpisovanje izvedete za vse izbrane datoteke v istem delovnem postopku.

9. Preverite rezultat

Po končanem postopku preverite poročilo in veljavnost nastalih podpisov.

Varnost: česa Free Code Signer ne želi shranjevati

Pri načrtovanju novih cloud načinov je bilo pomembno, da program ne postane skladišče občutljivih podatkov. Običajna konfiguracija zato ni namenjena shranjevanju zasebnih ključev, PIN kod, gesel, access tokenov ali client secretov.

Kjer je mogoče, je prijavo in dostop do ključa smiselno prepustiti operacijskemu sistemu, hardware tokenu, HSM napravi ali samemu cloud ponudniku.

Kaj potrebujete?

Način Običajne zahteve
Microsoft SignTool Windows in Microsoft SignTool / Windows SDK
YubiKey / hardware certifikat ustrezen certifikat in middleware naprave
Azure Artifact Signing ustrezno nastavljeno Azure podpisno okolje in prijava
Google Cloud KMS Google Cloud KMS, ustrezne pravice in Jsign
Jsign Java/Jsign ter konfiguracija izbranega ponudnika
JAR JDK in jarsigner

Changelog – Free Code Signer v1.7.0

  • dodana podpora za Azure Artifact Signing,
  • dodana podpora za Google Cloud KMS,
  • dodan univerzalni Jsign način,
  • dodana podpora za Java JAR podpisovanje prek jarsigner,
  • dodani profili datotek Standardno, Razširjeno, Razširjeno + JAR in Po meri,
  • omogočeno lažje paketno podpisovanje različnih tipov datotek,
  • dodane napredne nastavitve za nove ponudnike,
  • dodana vgrajena offline pomoč in bližnjica F1,
  • posodobljenih vseh 25 jezikov,
  • program si zapomni zadnji izbrani jezik,
  • ohranjena podpora za obstoječi Microsoft SignTool delovni postopek,
  • izboljšana dokumentacija za uporabo in odpravljanje težav.

O programu

Free Code Signer v1.7.0 – okno O programu
Free Code Signer v1.7.0.

Prenos Free Code Signer v1.7.0

Free Code Signer je freeware in je brezplačen za uporabo ter razširjanje v skladu s priloženimi licenčnimi pogoji. Izvorna koda ni del javne izdaje.

Na GitHubu sta objavljeni tudi podrobni slovenska in angleška navodila, v samem programu pa je pomoč dostopna neposredno s tipko F1.

Pogosta vprašanja

Ali moram po nadgradnji uporabljati Azure ali Google Cloud?

Ne. Klasični Microsoft SignTool način ostaja na voljo. Novi ponudniki so dodatne možnosti.

Ali lahko še vedno sam določim končnice datotek?

Da. Prednastavljeni profili samo poenostavijo izbiro. Ročni seznam končnic ostaja na voljo.

Ali lahko SignTool neposredno podpiše JAR?

Ne na način, kot se podpisujejo Windows Authenticode datoteke. Free Code Signer zato JAR datoteke usmeri v Java jarsigner.

Ali Free Code Signer shranjuje PIN ali zasebni ključ?

Program je zasnovan tako, da občutljivih podpisnih podatkov ni treba shranjevati v običajni konfiguraciji. Dostop do ključa naj, kjer je mogoče, upravlja Certificate Store, hardware token, HSM ali cloud ponudnik.

Ali je program odprtokoden?

Ne. Free Code Signer je freeware: brezplačen je za uporabo in razširjanje pod pogoji licence, izvorna koda pa ni del javne izdaje.

Od preprostega SignTool vmesnika do širšega Code Signing orodja

Free Code Signer v1.7.0 ohranja osnovni cilj prejšnjih različic – čim bolj poenostaviti podpisovanje večjega števila datotek – vendar ga razširi na bistveno več sodobnih scenarijev.

Za uporabnika, ki uporablja klasičen certifikat, se ni treba ničesar bistveno spremeniti. Za okolja, ki prehajajo na cloud KMS, HSM ali druge centralizirane podpisne rešitve, pa nova različica odpira precej več možnosti brez potrebe po ločenem uporabniškem vmesniku za vsak način podpisovanja.

Free Code Signer v1.7.0 je na voljo za prenos na GitHubu.