Hoppa till innehåll

47-dagarscertifikat kommer. Är du redo?

Agera nu →

Signera Android Package Kit (APK)-filer med ApkSigner med hjälp av PKCS#11-biblioteket

Säkra apk med ApkSigner

Du undrar säkert varför vi skulle signera en APK, eller hur? En digital signatur är en metod för att visa äktheten hos en digital fil, till exempel ett dokument, en körbar fil eller, i det här fallet, en APK, som bara är en samling filer. Vi kan praktiskt taget garantera att den som använder en APK kommer att få en verifierbar kopia av filen de förväntade sig genom att signera APK:n. Eftersom ingen annan kan ändra den här filen samtidigt som signaturen bibehålls, finns det tydliga säkerhetsfördelar.

För att uppnå detta integrerar vi nu PKCS # 11 bibliotek, vilket gör det möjligt för oss att använda förbättrad säkerhet genom att lagra nycklar på Hårdvarusäkerhetsmoduler (HSM) eller någon form av nyckelvalv. Den här artikeln kommer att guida dig genom processen att använda APKSigner med vår (Encryption Consulting) PKCS#11 Wrapper på Ubuntu och MacOS för dina APK-signeringsåtgärder.

Översikt över PKCS#11-integration

När det gäller APK-signeringsoperationer spelar PKCS#11 API:er en mycket viktig roll. PKCS#11 är en mycket känd och allmänt använd standard. API vilket gör att programvara kan interagera mycket smidigt med HSM:er. Genom att integrera PKCS#11 i APKSigner kan du eller dina utvecklare signera Android APK:er samtidigt som de privata nycklarna aldrig lämnar en säker miljö (HSM:er). På detta sätt skyddas dina nycklar från eventuella onlinehot.

PKCS#11 Wrapper från Encryption Consulting ger dig extra mycket tillförlitlighet och förtroende. Vi garanterar enastående prestanda, sömlös integration och – framför allt – hashing på klientsidan. Med hjälp av vår PKCS#11 Wrapper kan du:

  • Skydd mot nyckelläckage: Din organisations privata nycklar lämnar aldrig HSM. Alla kryptografisk Operationer utförs direkt inom HSM.  
  • Hårdvarubaserad säkerhet: Alla dina signeringsåtgärder kommer att utföras med manipulationssäker hårdvara, vilket garanterar både fysisk och logisk säkerhet. Du måste dock följa CA/B-forumet riktlinjen från juni 2023 och ha en FIPS 140-2 nivå 2 HSM på din sida. 
  • Ökat förtroende för dina applikationer: Dina signerade APK-filer uppfyller Androids säkerhetskrav och säkerställer att slutanvändaren har förtroende för din applikations integritet. 
  • Hög prestanda Signering med klientsidig hashing: Vår PKCS#11 Wrapper stöder klientsidig hashning, vilket säkerställer att din APK:s integritet förblir intakt. Detta kommer också att drastiskt förbättra hastigheten på signeringsprocessen, vilket gör den idealisk för din organisations högkapacitetsscenarier som CI / CD rörledningar.

Konfiguration av PKCS#11 Wrapper i Windows

Installation på klientsystem

Steg 1: Gå till EC CodeSign Secures v3.01 Signeringsverktyg avsnittet och ladda ner PKCS11 Wrapper för Windows.

Signeringsverktyg

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

generera p12-autentiseringscertifikat

Steg 3: Gå till ditt Windows-klientsystem och redigera konfigurationsfilerna (ec_pkcs11client.ini och pkcs11properties.cfg) laddades ner i PKCS11-omslaget. 

redigera konfigurationsfilen
redigera konfigurationsfilen
redigera konfigurationsfilen

Förutsättningar för Windows-systemet 

Nu ska vi installera några förutsättningar i ditt klientsystem för att köra PKCS11 Wrapper. 

Steg 1: Installera Java 22 från Oracle's officiella webbplatsen och följ instruktionerna i msi-filen. 

installera java
installera Java-guiden
installera Java-guiden

Steg 2: Ställ in Java 22 som aktiv version genom att lagra bin-sökvägen i PATH-variabeln.

lägg till java i sökvägen

Steg 3: Installera kommandoradsverktygen för Android SDK från den här länken här..

installera kommandoradsverktyg för android sdk

Steg 4:

  • Extrahera filerna till en "cmdline-tools"-mapp. 
  • Skapa en undermapp med namnet senaste
  • Flytta bin och lib mappar till den senaste mappen.
Extrahera filer

Steg 5: Ställ in en miljövariabel som heter ANDROID_HOME och sätt den till sökvägen där du extraherade kommandoradsverktygen. 

Ställ in en env-variabel

Steg 6: Installera byggverktyg med SDKManager, som innehåller APKSigner: .\bin\sdkmanager –channel=0 –install “byggverktyg;34.0.0” 

installera byggverktyg

Steg 7: Se till att APKSigner finns: Apksigner.bat –version 

se till att apkisigner finns

Utför signering och verifiering med PKCS11 Wrapper

Nu när alla konfigurationer och förutsättningar har installerats, låt oss först utföra signeringsåtgärden. 

Signeringskommandot kommer att se ut ungefär så här (se till att du bara kör det här kommandot i mappen där din PKCS11 Wrapper är installerad):

apksigner signera –leverantörsklass sun.security.pkcs11.SunPKCS11 –leverantörsarg   –ks INGEN –ks-typ PKCS11 –ks-pass pass:abcd1234 –ks-nyckelalias -i -ut

Till exempel: apksigner signera –provider-klass sun.security.pkcs11.SunPKCS11 –provider-arg C:\Användare\riley\Downloads\PKCS11_Wrapper-Windows\pkcs11properties.cfg –ks INGA –ks-typ PKCS11 –ks-pass pass:secretpassword –ks-key-alias gpg2 –in Sample.apk –out signed.apk

Signeringskommando

Efter att du har signerat APK-filen, låt oss verifiera den med det här kommandot: 

apksigner verifiera -utförlig

Till exempel: apksigner verifiera -verbose signed.apk

verifieringskommando

 Konfiguration av PKCS#11 Wrapper på Ubuntu

Förutsättningar

Här är förutsättningarna för att använda vår PKCS#11 Wrapper i ditt system. Innan du börjar, se till att följande är klart (du kan se KONFIGURERA PKCS#11 WRAPPER avsnitt för stegen):

  • Ubuntu-version: Ubuntu version 22.04 eller senare (testmiljön är Ubuntu 24.02) 
  • beroenden: Installera liblog4cxx-dev och curl. 
  • JDK: Oracle/OpenJDK 8 eller högre måste vara installerat och konfigurerat. 

Installera EC:s PKCS#11-omslag

Steg 1: Gå till EC CodeSign Secures v3.01 Signeringsverktyg avsnittet och ladda ner PKCS#11 Wrapper för Ubuntu. 

Avsnittet om signeringsverktyg i CodeSign Secure

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

Generera autentiseringscertifikat

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

redigera konfigurationsfilerna

Konfigurera PKCS#11-omslag

Nu ska vi konfigurera ditt klientsystem för att köra PKCS#11 Wrapper.

Steg 1: Installera Java 8: sudo apt installera openjdk-8-jdk 

installera Java 8

Steg 2: Ställ in Java 8 som aktiv version: sudo uppdateringsalternativ –konfiguration java 

Ställ in Java 8 som aktiv version

Steg 3: Installera kommandoradsverktygen för Android SDK: sudo apt installera google-android-cmdline-tools-13.0-installer 

Installera kommandoradsverktygen för Android SDK
Installera kommandoradsverktygen för Android SDK

Steg 4: Se till att SDK Manager för Android Studio har installerats korrekt: sdkmanager –version 

Säkerställ installation

Steg 5: Installera byggverktyg med SDKManager, som innehåller APKSigner: sdkmanager “byggverktyg;34.0.0” 

Installera byggverktyg med SDKManager

Steg 6: Se till att APKSigner finns: apksigner –version

Se till att APKSigner finns

Steg 7: Två paket krävs för att köra PKCS#11 Wrapper på ditt system. Installera först liblog4cxx-dev med: sudo apt-get install liblog4cxx-dev 

installera liblog4cxx-dev

Steg 8: Den sista förutsättningen är att installera curl-paketet: sudo apt-get installera curl

Installera curl-paketet

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

Signera och verifiera en APK 

Nu när alla konfigurationer och förutsättningar har installerats, låt oss först utföra signeringsåtgärden. 

Signeringskommandot kommer att se ut ungefär så här (se till att du bara kör det här kommandot i mappen där din PKCS#11 Wrapper är installerad):

apksigner signera –leverantörsklass sun.security.PKCS#11.SunPKCS#11 –leverantörsarg –ks INGEN –ks-typ PKCS#11 –ks-pass pass:abcd1234 –ks-nyckelalias -i -ut

Till exempel: apksigner signera –provider-klass sun.security.PKCS#11.SunPKCS#11 –provider-arg /home/administrator/PKCS#11_Wrapper-Ubuntu/PKCS#11properties.cfg –ks INGA –ks-typ PKCS#11 –ks-pass pass:abcd1234 –ks-nyckelalias gpg2 –in Exempel.apk –ut signed.apk 

Utför apk-signering

Efter att du har signerat APK-filen, låt oss verifiera den med det här kommandot:

apksigner verifiera -utförlig

Till exempel: apksigner verifiera -verbose signed.apk

Verifiera apk-signering

Konfiguration av PKCS#11 Wrapper på MacOS 

Förutsättningar

Här är förutsättningarna för att använda vår PKCS#11 Wrapper i ditt system. Innan du börjar, se till att följande är klart (du kan se KONFIGURERA PKCS#11 WRAPPER avsnitt för stegen): 

  • MacOS-version: MacOS version 13 (Ventura) eller senare (testmiljön är MacOS 15.1 Sequoia) 
  • beroenden: Installera liblog4cxx-dev och curl. 
  • JDK: Oracle/OpenJDK 17 eller högre måste vara installerat och konfigurerat.

Installera EC:s PKCS#11-omslag 

Steg 1: Gå till EC CodeSign Secures v3.01 Signeringsverktyg avsnittet och ladda ner PKCS11 Wrapper för MacOS.

Avsnittet om signeringsverktyg i CodeSign Secure

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

Generera autentiseringscertifikat

Steg 3: Gå till ditt MacOS-klientsystem och redigera konfigurationsfilerna (ec_pkcs11client.ini och pkcs11properties.cfg) laddades ner i PKCS11-omslaget.

Redigera konfigurationsfiler

Konfigurera PKCS#11-omslag

Nu ska vi konfigurera ditt klientsystem för att köra PKCS11 Wrapper.

Steg 1: Installera Java 17: brygginstallation openjdk@17

macOS java installation

Steg 2: Ställ in Java 17 som aktiv version:

  • För Zsh: nano ~/.zshrc
  • För Bash: nano ~ / .bash_profile

Lägg till dessa rader: exportera JAVA_HOME=$(/usr/libexec/java_home -v 17)
exportera PATH=$JAVA_HOME/bin:$PATH

Och kör sedan: källa ~/.zshrc # eller ~/.bash_profile

ställ in Java17 som aktiva macOS
ställ in Java 17

Steg 3: Installera kommandoradsverktygen för Android SDK från detta plats.

android cmd-radverktyg
cmd linjeverktyg macos

Steg 4: Se till att SDK Manager för Android Studio har installerats korrekt: sdkmanager –sdk_root=/Användare/subhayuroy/PKCS11_Wrapper-Mac –version

Säkerställ installation av SDK-hanteraren på macOS

Steg 5: Installera byggverktyg med SDKManager, som innehåller APKSigner: sdkmanager –sdk_root=/Användare/subhayuroy/PKCS11_Wrapper-Mac “byggverktyg;34.0.0”

installera byggverktyg på macOS
sdkManager installationsverktyg macos

Steg 6: Se till att APKSigner finns: ls /Användare/subhayuroy/PKCS11_Wrapper-Mac/byggverktyg/34.0.0/apksigner

se till att ha ApkSigner-macos

Steg 7: Två paket krävs för att köra PKCS11 Wrapper på ditt system. Installera först liblog4cxx-dev med: brygginstallationslog4cxx

brygg installation av macOS

Steg 8: Den sista förutsättningen är att installera curl-paketet: brygga installera curl

brygga installera curl

Steg 9: Du måste se till att alla relativa sökvägar läggs till i din PATH-variabel (~/.zshrc-fil):

exportera PATH=/Användare/subhayuroy/PKCS11_Wrapper-Mac/cmdline-tools/bin:$PATH

exportera JAVA_HOME=$(/usr/libexec/java_home -v 17)

exportera PATH=$JAVA_HOME/bin:$PATH

exportera ANDROID_SDK_ROOT=/Användare/subhayuroy/PKCS11_Wrapper-Mac

exportera PATH=$PATH:/Användare/subhayuroy/PKCS11_Wrapper-Mac/byggverktyg/34.0.0

säkerställa relativa sökvägar i macOS

Signera och verifiera en APK

Nu när alla konfigurationer och förutsättningar har installerats, låt oss först utföra signeringsåtgärden.

Signeringskommandot kommer att se ut ungefär så här (se till att du bara kör det här kommandot i mappen där din PKCS11 Wrapper är installerad):

java –add-exports=jdk.crypto.cryptoki/sun.security.pkcs11=ALLA-NAMNLODA -jar signera –provider-klass sun.security.pkcs11.SunPKCS11 –provider-arg –ks INGEN –ks-typ PKCS11 –ks-pass pass:abcd1234 –ks-nyckelalias  -i -ut

Till exempel: java –add-exports=jdk.crypto.cryptoki/sun.security.pkcs11=ALL-UNAMNLIGEN \ -jar /Användare/subhayuroy/PKCS11_Wrapper-Mac/build-tools/34.0.0/lib/apksigner.jar \ signera \ –provider-klass sun.security.pkcs11.SunPKCS11 \ –provider-arg /Användare/subhayuroy/PKCS11_Wrapper-Mac/pkcs11properties.cfg \ –ks INGA \ –ks-typ PKCS11 \ –ks-pass pass:abcd1234 \ –ks-nyckelalias gpg2 \ –in Sample.apk \ –out signed.apk

signera apk macos

Efter att du har signerat APK-filen, låt oss verifiera den med det här kommandot:

apksigner verifiera -utförlig

Till exempel: apksigner verifiera -verbose signed.apk

verifierar apk-macos

Slutsats

Vår PKCS#11 Wrapper erbjuder oöverträffad prestanda, inklusive klientsidig hashning för snabbare prestanda och smidig integration i dina befintliga arbetsflöden. Med vår kodsigneringslösning – CodeSign Secure v3.01, kan du lita på slutanvändare och säkra dina appar på ett säkert sätt.  

Genom att arbeta med Encryption Consulting investerar du i en lösning som utvecklare och organisationer världen över litar på för att skydda deras programvaruleveranskedja, snarare än att bara välja ett verktyg. Detta är din möjlighet att använda våra kodsigneringstekniker för att avancera din APK-signering. 

Besök vår officiella hemsida eller kontakta vår supportpersonal för mer information eller hjälp.