- GPG2
- Konfiguration av PKCS#11 Wrapper på Ubuntu
- GPG2-inställningar
- Installerar Gnupg-pkcs11-scd-paketet (version 0.11.0)
- Skapa Gnupg-katalogen och miljövariablerna
- Skapa konfigurationsfilerna
- Starta GPG-agenten
- Hämta och importera nycklar och certifikat till GPG2
- GPG2-signering och verifiering
- Ytterligare steg för Debian-signering och verifiering
- Ytterligare steg för RPM-signering och verifiering
- Slutsats
Tänk dig att du laddar ner en app och känner dig trygg med den eftersom den har en digital sigill från en pålitlig utvecklare. Denna sigill innebär att programvaran är legitim och inte har ändrats av någon med onda avsikter. För utvecklare är det ett bra sätt att bygga förtroende och visa att de tar säkerhet på allvar. För användare ger det en försäkran om att appen inte kommer att skada deras enheter. Hela processen att lägga till en digital sigill eller signatur till en app kallas kodsignering.
Nu ska vi förstå hur Encryption Consultings PKCS11 Wrapper kan hjälpa dig att uppnå GPG2-, Debian- och RPM-signering med snabbare hastighet och bättre effektivitet.
OBS : För att utföra Debian- och RPM-signeringer måste du fortfarande konfigurera och installera GPG på din maskin.
GPG2
GPG2, eller GNU Privacy Guard 2, är en gratis implementering av OpenPGP-standarden med öppen källkod, utformad för att tillhandahålla kraftfulla krypterings- och signeringsfunktioner. Tillgänglig på plattformar som Ubuntu, gör det möjligt för användare att kryptera data och kommunikation, vilket säkerställer konfidentialitet samtidigt som digitala signaturer verifierar äkthet.
Genom att implementera GPG2-signering med Encryption Consultings PKCS11 Wrapper på Ubuntu kan du säkerställa äktheten och integriteten hos dina digitala tillgångar, vilket minskar riskerna i samband med obehörig åtkomst eller manipulering.
Konfiguration av PKCS#11 Wrapper på Ubuntu
Förutsättningar
Innan vi tittar på signeringsprocessen med GPG2 och vår PKCS11 Wrapper i Linux (Ubuntu)-maskin, se till att följande är klart:
- Ubuntu-version: Ubuntu version 22.04 eller senare (testmiljön är Ubuntu 24.02)
Nu måste vi vara inloggade som root-användare innan vi går vidare med GPG2-signering.
sudo su

För att konfigurera PKCS#11 Wrapper måste du köra följande kommandon och installera vissa beroenden och paket på din Ubuntu-maskin:
- sudo apt-get installera curl
- sudo apt-get install liblog4cxx12
Installera EC:s PKCS#11-omslag
Steg 1: Gå till avsnittet Signeringsverktyg i EC CodeSign Secures v3.02 och ladda ner PKCS#11 Wrapper för Ubuntu.

Steg 2: Generera sedan ett P12-autentiseringscertifikat från rullgardinsmenyn Systeminställningar > Användare > Generera autentiseringscertifikat.

Steg 3: Gå till ditt Ubuntu-klientsystem och redigera konfigurationsfilerna ( ec_PKCS#11client.ini och PKCS#11properties.cfg ) som laddats ner i PKCS#11 Wrapper.

Steg 4: Lägg till miljövariabeln för klientbiblioteket pkcs11
Kör kommandot nedan för att öppna bashrc-filen
nano ~ / .bashrc

Lägg nu till variabeln EC_INI_FILE_PATH med sökvägen till .ini-filen i slutet av bashrc-filen, så här:
exportera EC_INI_FILE_PATH=/home/aryan/pkcs11-client/ec_pkcs11client.ini

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
Steg 5: Ladda om miljövariablerna
källa ~ / .bashrc

Steg 6: Kontrollera om variabeln har ställts in korrekt
echo $ EC_INI_FILE_PATH

OBS! Om du inte kan se filens plats från echo-kommandon, öppna en ny terminal och försök igen.
GPG2-inställningar
GPG2 framstår som ett viktigt verktyg för organisationer som strävar efter att skydda sina data och sin kommunikation samtidigt som de ökar den operativa effektiviteten i en Ubuntu-maskin.
Installera Gnupg-paketet (version 2.5.4)
Steg 1: Kontrollera standardversionen av gnupg på din Ubuntu-maskin.
sudo apt-cache-policy GnuPG

Om version 2.5.4 finns i ditt system kan du köra kommandot nedan och gå till nästa avsnitt:
sudo apt installera gnupg
Eftersom den här versionen inte finns tillgänglig behöver du utföra följande steg:
Steg 2: Installera de nödvändiga byggverktygen och beroenden för gnupg-paketet.
s udo apt install build-essential bzip2 libassuan-dev libgcrypt20-dev libgpg-error-dev libksba-dev libnpth0-dev

Steg 3: Ladda ner 2.5.4-versionen av gnupg med kommandot nedan
wget https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.5.4.tar.bz2

Steg 4: Extrahera arkivet
tar -xjvf gnupg-2.5.4.tar.bz2

Steg 5: Gå till den nyskapade gnupg-2.5.4-katalogen
cd gnupg-2.5.4

Steg 6: Kör konfigurationsfilen
. / Configure

Om den här versionen av GnuPG kräver några nyare delade bibliotek som du har installerat, kommer utdata från kommandot configure att informera dig om det, som visas i bilden nedan:

Ovanstående utdata från kommandot configure säger att vi behöver bygga och installera den senaste versionen av biblioteken libgpg-error, libgcrypt och libassuan.
Steg 7: Installera de ytterligare beroendena för GPG2
1. Installera libgpg-error -versionen från länken som tillhandahålls som utdata för configure-kommandot
wget https://gnupg.org/ftp/gcrypt/gpgrt/libgpg-error-1.51.tar.bz2

Extrahera arkivet
tar xf libgpg-error-1.51.tar.bz2

Gå till den nyskapade katalogen libgpg-error-1.51
cd libgpg-fel-1.51/

Kör konfigurationsfilen
. / Configure


Kör kommandot make
göra

Installera paketet
sudo gör installationen

Uppdatera systemets dynamiska länkarcache med kommandot nedan:
sudo ldconfig

Gå tillbaka en katalog (../gnupg-2.5.4) för att installera andra bibliotek
CD ..

2. Installera libgcrypt- versionen från länken som tillhandahålls som utdata för configure-kommandot
wget https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.0.tar.bz2

Extrahera arkivet
tar xf libgcrypt-1.11.0.tar.bz2

Gå till den nyskapade katalogen libgcrypt-1.11.0
cd libgcrypt-1.11.0/

Kör konfigurationsfilen
. / Configure


Kör kommandot make
göra

Installera paketet
sudo gör installationen

Uppdatera systemets dynamiska länkarcache med kommandot nedan:
sudo ldconfig

Gå tillbaka en katalog (../gnupg-2.5.4) för att installera andra bibliotek
CD ..

3. Installera libassuan- versionen från länken som tillhandahålls som utdata för configure-kommandot
wget https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.0.tar.bz2

Extrahera arkivet
tar xf libassuan-3.0.0.tar.bz2

Gå till den nyskapade libassuan-3.0.0-katalogen
cd libassuan-3.0.0/

Kör konfigurationsfilen
. / Configure


Kör kommandot make
göra

Installera paketet
sudo gör installationen

Uppdatera systemets dynamiska länkarcache med kommandot nedan:
sudo ldconfig

Efter att du har installerat alla bibliotek enligt anvisningarna i det ursprungliga GnuPG configure-kommandot, byt tillbaka till GnuPG release-katalogen,
CD ..

Steg 8: Kör konfigurationsfilen från katalogen gnupg-2.5.4
. / Configure

Kontrollera utdata från kommandot ovan

Steg 7: Upprepa installationsprocessen för de återstående ytterligare beroendena för GPG2.
1. Installera libksba-versionen från länken som tillhandahålls som utdata för configure-kommandot
wget https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.3.tar.bz2

Extrahera arkivet
tar xf libksba-1.6.3.tar.bz2

Gå till den nyskapade katalogen libksba-1.6.3
cd libksba-1.6.3/

Kör konfigurationsfilen
. / Configure


Kör kommandot make
göra

Installera paketet
sudo gör installationen

Uppdatera systemets dynamiska länkarcache med kommandot nedan:
sudo ldconfig

Gå tillbaka en katalog (../gnupg-2.5.4)
CD ..

Steg 9: Kör konfigurationsfilen igen från katalogen gnupg-2.5.4
. / Configure

Kontrollera utdata från kommandot ovan

Eftersom det inte finns något fel i paketversionen kan vi gå vidare med installationen.
Steg 10: Kör kommandot make
göra

Steg 11: Installera paketet
sudo gör installationen

Steg 12: Kontrollera om gpg har installerats korrekt eller inte
gpg-version

Steg 13: Kontrollera om gpg-agent har installerats korrekt eller inte
gpg-agent –version

Installerar Gnupg-pkcs11-scd-paketet (version 0.11.0)
Steg 1: Kontrollera standardversionen av gnupg-pkcs11-scd på din Ubuntu-maskin
sudo apt-cache-policy gnupg-pkcs11-scd

Om den nödvändiga versionen, 0.11.0, är installerad på din dator, kör följande kommando:
sudo apt install gnupg-pkcs11-scd
Annars skulle du behöva utföra följande steg:
Steg 2: Installera de nödvändiga byggverktygen och beroenden för gnupg-pkcs11-scd-paketet.
sudo apt install libpcsclite-dev libssl-dev paket-konfiguration libpkcs11-helper1-dev

Steg 3: Ladda ner det nödvändiga paketet
wget https://github.com/alonbl/gnupg-pkcs11-scd/releases/download/gnupg-pkcs11-scd-0.11.0/gnupg-pkcs11-scd-0.11.0.tar.bz2

Steg 4: Extrahera arkivet
tar xf gnupg-pkcs11-scd-0.11.0.tar.bz2

Steg 5: Gå till den nyskapade katalogen gnupg-pkcs11-scd-0.11.0
cd ./gnupg-pkcs11-scd-0.11.0/

Steg 6: Kör konfigurationsfilen
. / Configure

Kontrollera utdata från kommandot ovan

Eftersom det inte finns något fel gällande paketversionen kan vi gå vidare med installationen.
Steg 7: Kör kommandot make
göra

Steg 8: Installera paketet
sudo gör installationen

Steg 9: Uppdatera systemets dynamiska länkarcache med kommandot nedan:
sudo ldconfig

Steg 10: Kontrollera om gnupg-pkcs11-scd har installerats korrekt eller inte
gnupg-pkcs11-scd –version

Skapa Gnupg-katalogen och miljövariablerna
Steg 1: Kontrollera om katalogen /root/.gnupg finns i ditt system.
ls -ld /root/.gnupg

Om inte, använd kommandot nedan för att skapa katalogen
mkdir /root/.gnupg

Steg 2: Lägg till miljövariablerna för GPG Agent och socketkatalogen Gnupg-pkcs11.
Öppna bashrc-filen med kommandot nedan
nano ~ / .bashrc

Klistra in kommandona nedan enligt filplatserna i ditt system, i slutet av filen, till exempel:
exportera GPG_AGENT_INFO=/root/.gnupg
exportera GNUPG_PKCS11_SOCKETDIR=/root/.gnupg/

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
Steg 3: Ladda om bashrc-filen
källa ~ / .bashrc

Steg 4: För att kontrollera dessa variabler, kör:
echo $GPG_AGENT_INFO
echo $GNUPG_PKCS11_SOCKETDIR

Om du inte kan se filens plats från echo-kommandon, öppna en ny terminal och försök igen.
Skapa konfigurationsfilerna
1. Skapa en gnupg-pkcs11-scd.conf -fil i katalogen /root/.gnupg
Kör följande kommando för att skapa/redigera filen
nano /root/.gnupg/gnupg-pkcs11-scd.conf

Ändra och konfigurera filen enligt kommandot nedan och systemets filplatser:
mångordig
felsöka alla
leverantörer ec
leverantör-ec-bibliotek /home/aryan/pkcs11-client/ec_pkcs11client.so

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
2. Skapa en gpg-agent.conf -fil i katalogen /root/.gnupg
Kör följande kommando för att skapa/redigera filen
nano /root/.gnupg/gpg-agent.co

Ändra och konfigurera filen enligt kommandot nedan och systemets filplatser:
mångordig
felsöka alla
loggfilen /tmp/gpg-agent.log
scdaemon-program /usr/local/bin/gnupg-pkcs11-scd
pinentry-program /usr/bin/pinentry

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
3. Skapa en gpg.conf -fil i katalogen /root/.gnupg
Kör följande kommando för att skapa/redigera filen
nano /root/.gnupg/gpg.conf

Ändra och konfigurera filen enligt kommandot nedan och systemets filplatser:
användningsagent
#loggfil /tmp/gpg.log
OBS: du kan avkommentera raden (genom att ta bort #-tecknet) för att generera en gpg.log-fil.

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
4. Skapa en pkcs11-scd.conf -fil i katalogen /root/.gnupg
Kör följande kommando för att skapa/redigera filen
nano /root/.gnupg/pkcs11-scd.conf

Ändra och konfigurera filen enligt kommandot nedan och systemets filplatser:
modul /home/aryan/pkcs11-client/ec_pkcs11client.so

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
5. Skapa en scdaemon.conf -fil i katalogen /root/.gnupg
Kör följande kommando för att skapa/redigera filen
nano /root/.gnupg/scdaemon.conf

Lägg till kommandot nedan i den här filen
inaktivera-ccid

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
Starta GPG-agenten
Steg 1: Kontrollera om gpg-agent körs på din Ubuntu-maskin
ps -aef | grep gpg

Om någon agent redan körs måste du avsluta den instansen och starta en ny.
Steg 2: För att avsluta en instans av agenten, använd följande kommando med ändringarna av PID-numret (numret efter "root"-användaren i bilden ovan) enligt din maskin.
döda -9 134028

döda -9 136706

Steg 3: Starta en ny gpg-agent
sudo gpg-agent –verbose –debug-level advanced –daemon

Steg 4: Kontrollera igen att endast en gpg-agent körs på din Ubuntu-maskin
ps -aef | grep gpg

Hämta och importera nycklar och certifikat till GPG2
Steg 1: Ladda om agenten
gpg-connect-agent << EOF
> PÅLADNINGSMEDEL
> EOF

Steg 2: Hämta kortstatus:
gpg –debug-all –kortstatus

Steg 3: Hämta de viktigaste användarvänliga namnen och certifikaten
gpg-connect-agent << EOF
> SCD-LÄRNING
> EOF

Steg 4: Kopiera det obligatoriska KEY FRIENDLY-ID:t
Du kan jämföra respektive CKA_ID för den nyckel du vill använda för signering från CodeSign Secure Portal och kopiera KEY FRIENDLY Id.

Steg 5: Importera nyckel till GPG 2
gpg –expert –full-generera-nyckel

Det här kommandot kommer att be dig om olika inmatningar för att korrekt importera och ställa in behörigheterna för nyckeln i din maskin.
Först kommer den att be dig välja ett nummer från listan. Du måste ange 13 eftersom nyckeln redan skapades från CodeSign Secure-portalen.

Sedan måste du ange det KEY FRIENDLY-ID som du hämtade från tidigare steg.

Den kommer sedan att be dig bekräfta behörigheterna för den här nyckeln. Skriv "Q".

Nu måste du ställa in nyckelns utgångsdatum i ditt system. Standardinställningen är "nyckeln upphör inte att gälla".

Slutligen kommer den att uppmana dig att ange nyckelidentifieringsuppgifterna för enklare systemåtkomst. Ange namn och e-postadress för nyckeln och bekräfta dina inställningar genom att ange "O".

Din nyckel kommer att importeras till GPG2 och kan nu användas för signering.

OBS: Nu har du GPG2 konfigurerat och installerat på din maskin.
För att utföra GPG2-signering, gå till avsnittet (GPG2-signering och verifiering)
För att utföra Debian-signering, gå till avsnittet ( Ytterligare steg för Debian-signering och verifiering)
För att utföra RPM-signering, gå till avsnittet (Ytterligare steg för RPM-signering och verifiering)
GPG2-signering och verifiering
Steg 1: Lista alla tillgängliga nycklar för GPG2-signering
gpg –list-nycklar

Steg 2: Kopiera publiceringsnyckel-ID:t för den nyckel du vill använda för signering.

Steg 3: Leta efter filen som du ska signera med nyckeln vi just importerade till GPG2.

Steg 4: Kör signeringskommandot
gpg –sign –default-key
Ett exempelkommando finns nedan
gpg –sign –default-key 8A361E0C157B120C20595E738311968FA5629A34 /home/aryan/pkcs11-client/testfile

Den har framgångsrikt genererat en signaturfil (testfile.gpg).
Steg 5: Kör verifieringskommandot
gpg –verifiera
Ett exempelkommando finns nedan
gpg –verifiera /home/aryan/pkcs11-client/testfile.gpg

Ytterligare steg för Debian-signering och verifiering
Debian-signering är beroende av GPG2-nycklar (GNU Privacy Guard), så innan du fortsätter måste du installera och konfigurera GPG2 på ditt system.
Steg 1: Lista alla tillgängliga nycklar för GPG2-signering
gpg –list-nycklar

Steg 2: Kopiera publiceringsnyckel-ID:t för den nyckel du vill använda för signering.

Steg 3: Ange pub-nyckel-ID:t i gpg.conf-filen som vi skapade tidigare.
Öppna gpg.conf med kommandot nedan:
nano /root/.gnupg/gpg.conf

Detta borde vara innehållet i den här filen.

Lägg nu till respektive pubnyckel-ID som standardnyckel i slutet av filen, så här:
default-key 8A361E0C157B120C20595E738311968FA5629A34

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
Steg 4: Installera Debian-paketverktyget med kommandot nedan
sudo apt-cache policy dpkg-sig

Om ovanstående ger ett fel eller returnerar en tom utdata, se stegen nedan för att ladda ner och installera dpkg-sig-paketet.
1. Ladda ner dpkg-sig-paketet
wget https://old-releases.ubuntu.com/ubuntu/pool/universe/d/dpkg-sig/dpkg-sig_0.13.1+nmu2ubuntu1_all.deb

2. Installera paketet
sudo apt install ./dpkg-sig_0.13.1+nmu8~noble_all.deb

3. Kontrollera om dpkg-sig har installerats korrekt i ditt system
dpkg-signatur

Steg 5: Leta reda på Debian-filen, som du behöver signera med nyckeln som du angav som "standardnyckel" i gpg.conf-filen.

Steg 6: Kör signeringskommandot
dpkg-sig –sign-byggare
Ett exempelkommando ges nedan:
dpkg-sig –sign builder /home/aryan/pkcs11-client/testsample.deb

Ytterligare steg för RPM-signering och verifiering
Steg 1: Installera rpm-paketet på din maskin
sudo apt installera rpm

Steg 2: Kontrollera om rpm har installerats korrekt
rpm –version

Steg 3: Installera gnupg2-paketet
sudo apt installera gnupg2

Steg 4: Kontrollera om gpg2 har installerats korrekt
gpg2 –version

Steg 5: Lista alla tillgängliga nycklar för GPG2-signering
gpg –list-nycklar

Steg 6: Kopiera det inställda pub-nyckel-UID-namnet för den nyckel du vill använda för signering.

Steg 7: Exportera respektive nyckel till en fil med pub-nyckelns uid-namn enligt dina inställningar, till exempel:
gpg –export -a “Test1” > ~/RPM-GPG-NYCKEL

Steg 8: Importera den här filen till RPM
rpm –import ~/RPM-GPG-KEY

Steg 9: Skapa en .rpmmacros-fil som anger för RPM-paketet vilken GPG-nyckel som ska användas för signering.
nano ~/.rpmmakron

Ändra ~/.rpmmacrors med filplatser enligt sökvägarna som angetts i din Ubuntu-maskin och det obligatoriska pub-nyckel-uid-namnet som vi fick från steg 5 i det här avsnittet.
%_gpg_name Test1
%_signature gpg
%_gpg_path /root/.gnupg/
%__gpgbin /usr/bin/gpg2
%__gpg_check_password_cmd /bin/true

Tryck Ctrl+X, skriv sedan Y och tryck sedan på Enter för att spara.
Steg 10: Leta reda på RPM-filen som du behöver signera med nyckeln vi just importerade till RPM.

Steg 11: Kör signeringskommandot
rpm –utförlig –addsign
Ett exempelkommando ges nedan:
rpm –verbose –addsign /home/aryan/pkcs11-client/RPMsample.rpm

Steg 12: Kör verifieringskommandot
rpm –verbose –checksig <Sökväg till filen som signerades>
Ett exempelkommando ges nedan:
rpm –verbose –checksig /home/aryan/pkcs11-client/RPMsample.rpm
Slutsats
Encryption Consultings PKCS#11-konfiguration för GPG2-, Debian- och RPM-signering på Ubuntu gör det enkelt och säkert för organisationer att använda detta kraftfulla verktyg. Med de förbättrade nyckelhanterings- och säkerhetsfunktionerna från vår kodsigneringslösning, CodeSign Secure , kan användare tryggt skydda sina känsliga data, vilket gör den till en utmärkt tillgång för organisationer av alla storlekar.
CodeSign Secure förbättrar denna integration genom att erbjuda funktioner som stöd för Hardware Security Module (HSM) , detaljerade revisionsloggar och efterlevnad av bästa säkerhetspraxis för att säkerställa efterlevnad och ansvarsskyldighet, skydda signeringsnycklar och upprätthålla förtroende. Tillsammans ger dessa verktyg en heltäckande lösning som optimerar signeringsprocesser, ökar driftseffektiviteten och stärker säkerheten för organisationer och användare.
- GPG2
- Konfiguration av PKCS#11 Wrapper på Ubuntu
- GPG2-inställningar
- Installerar Gnupg-pkcs11-scd-paketet (version 0.11.0)
- Skapa Gnupg-katalogen och miljövariablerna
- Skapa konfigurationsfilerna
- Starta GPG-agenten
- Hämta och importera nycklar och certifikat till GPG2
- GPG2-signering och verifiering
- Ytterligare steg för Debian-signering och verifiering
- Ytterligare steg för RPM-signering och verifiering
- Slutsats
