Meteen naar de inhoud

Certificaten met een geldigheidsduur van 47 dagen komen eraan. Ben je klaar?

Handel nu →

Onderteken Android Package Kit (APK)-bestanden met ApkSigner met behulp van de PKCS#11-bibliotheek

Beveiligde apk met ApkSigner

Je vraagt ​​je waarschijnlijk af waarom we een APK zouden ondertekenen, toch? Een digitale handtekening is een methode om de authenticiteit van een digitaal bestand aan te tonen, zoals een document, uitvoerbaar bestand of, in dit geval, een APK, wat gewoon een verzameling bestanden is. We kunnen vrijwel garanderen dat iedereen die een APK gebruikt, een verifieerbare kopie van het verwachte bestand ontvangt door de APK te ondertekenen. Omdat niemand anders dit bestand kan wijzigen met behoud van dezelfde handtekening, zijn er duidelijke beveiligingsvoordelen.

Om dit te bereiken integreren we PKCS # 11 bibliotheken, die ons in staat stellen om een ​​verbeterde beveiliging te gebruiken door sleutels op te slaan Hardware-beveiligingsmodules (HSM's) of een soort sleutelkluis. Dit artikel leidt je door het proces van het gebruik van APKSigner met onze (Encryption Consulting's) PKCS#11 Wrapper op Ubuntu en macOS voor je APK-ondertekeningsbewerkingen.

Overzicht van PKCS#11-integratie

PKCS#11 API's spelen een zeer belangrijke rol bij APK-ondertekening. PKCS#11 is een zeer bekende en breed geaccepteerde standaard. API Hierdoor kan software zeer soepel met HSM's communiceren. Door PKCS#11 in APKSigner te integreren, kunnen jij en je ontwikkelaars Android APK's ondertekenen, terwijl je ervoor zorgt dat de privésleutels nooit een beveiligde omgeving (HSM's) verlaten. Je sleutels worden op deze manier beschermd tegen mogelijke online bedreigingen.

De PKCS#11 Wrapper van Encryption Consulting biedt u extra betrouwbaarheid en vertrouwen. Wij garanderen uitstekende prestaties, naadloze integratie en – bovenal – client-side hashing. Met behulp van onze PKCS#11 Wrapper kunt u:

  • Bescherming tegen sleutellekken: De privésleutels van uw organisatie verlaten de HSM nooit. Alle cryptografische Bewerkingen worden rechtstreeks binnen de HSM uitgevoerd.  
  • Hardware-ondersteunde beveiliging: Al uw ondertekeningsoperaties worden uitgevoerd op fraudebestendige hardware, wat zowel fysieke als logische beveiliging garandeert. U moet echter wel voldoen aan de CA/B Forum's Richtlijn van juni 2023 en zorg dat u een FIPS 140-2 Level 2 HSM aan uw zijde hebt. 
  • Meer vertrouwen voor uw applicaties: Uw ondertekende APK's voldoen aan de beveiligingsvereisten van Android en zorgen ervoor dat de eindgebruiker vertrouwen heeft in de integriteit van uw applicatie. 
  • High-performance Ondertekenen met client-side hashing: Onze PKCS#11 Wrapper ondersteunt client-side hashing, waardoor de integriteit van uw APK intact blijft. Dit verbetert ook de snelheid van het ondertekeningsproces aanzienlijk, waardoor het ideaal is voor de high-throughput-scenario's van uw organisatie, zoals CI / CD pijpleidingen.

Configuratie van PKCS#11 Wrapper op Windows

Installatie op clientsysteem

Stap 1: Ga naar EC CodeSign Secure's v3.01 Ondertekeningshulpmiddelen sectie en download de PKCS11 Wrapper voor Windows.

Ondertekeningshulpmiddelen

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

genereer een p12-authenticatiecertificaat

Stap 3: Ga naar uw Windows-clientsysteem en bewerk de configuratiebestanden (ec_pkcs11client.ini en pkcs11properties.cfg) gedownload in de PKCS11 Wrapper. 

configuratiebestand bewerken
configuratiebestand bewerken
configuratiebestand bewerken

Vereisten voor Windows-systeem 

Nu gaan we een aantal vereisten in uw clientsysteem installeren om de PKCS11 Wrapper te kunnen uitvoeren. 

Stap 1: Java 22 installeren vanaf Oracle's officiële site en volg de instructies in het msi-bestand. 

java installeren
Java-wizard installeren
Java-wizard installeren

Stap 2: Stel Java 22 in als de actieve versie door het bin-pad op te slaan in de PATH-variabele.

Java toevoegen aan pad

Stap 3: Installeer de Android SDK-opdrachtregeltools via deze link hier.

Android SDK-opdrachtregelhulpprogramma's installeren

Stap 4:

  • Pak de bestanden uit in de map “cmdline-tools”. 
  • Maak een submap met de naam laatste
  • Verplaats de bak en lib mappen naar de nieuwste map.
Bestanden uitpakken

Stap 5: Stel een omgevingsvariabele in met de naam ANDROID_HOME en geef deze het pad waar u de opdrachtregelprogramma's hebt uitgepakt. 

Stel een omgevingsvariabele in

Stap 6: Installeer Build Tools met behulp van SDKManager, dat de APKSigner bevat: .\bin\sdkmanager –kanaal=0 –installeer “build-tools;34.0.0” 

installeer buildtools

Stap 7: Zorg ervoor dat APKSigner aanwezig is: Apksigner.bat –versie 

Zorg ervoor dat apkisigner aanwezig is

Ondertekening en verificatie uitvoeren met PKCS11 Wrapper

Nu alle configuraties en vereisten zijn geïnstalleerd, kunnen we eerst de ondertekening uitvoeren. 

Het ondertekeningscommando zal er ongeveer zo uitzien (zorg ervoor dat u deze opdracht alleen uitvoert in de map waar uw PKCS11 Wrapper is geïnstalleerd):

apksigner sign –provider-class sun.security.pkcs11.SunPKCS11 –provider-arg   –ks GEEN –ks-type PKCS11 –ks-pass pass:abcd1234 –ks-key-alias -in -uit

Bijvoorbeeld: apksigner sign –provider-class sun.security.pkcs11.SunPKCS11 –provider-arg C:\Users\riley\Downloads\PKCS11_Wrapper-Windows\pkcs11properties.cfg –ks GEEN –ks-type PKCS11 –ks-pass pas:geheimwachtwoord –ks-sleutel-alias gpg2 –in Sample.apk –out signed.apk

Ondertekeningsopdracht

Nadat u de APK succesvol hebt ondertekend, kunt u deze verifiëren met behulp van de volgende opdracht: 

apksigner verify -verbose

Bijvoorbeeld: apksigner verify -verbose signed.apk

verificatieopdracht

 Configuratie van PKCS#11 Wrapper op Ubuntu

Voorwaarden

Dit zijn de vereisten voor het gebruik van onze PKCS#11 Wrapper in uw systeem. Zorg ervoor dat het volgende klaar is voordat u begint (raadpleeg hiervoor de PKCS#11 WRAPPER CONFIGUREREN sectie voor de stappen):

  • Ubuntu-versie: Ubuntu versie 22.04 of later (geteste omgeving is Ubuntu 24.02) 
  • Bijgebouwen: Installeer liblog4cxx-dev en curl. 
  • JDK: Oracle/OpenJDK 8 of hoger moet geïnstalleerd en geconfigureerd zijn. 

Installatie van EC's PKCS#11 Wrapper

Stap 1: Ga naar EC CodeSign Secure v3.01 Ondertekeningshulpmiddelen sectie en download de PKCS#11 Wrapper voor Ubuntu. 

Sectie Ondertekeningshulpmiddelen in CodeSign Secure

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

Authenticatiecertificaat genereren

Stap 3: Ga naar uw Ubuntu-clientsysteem en bewerk de configuratiebestanden (ec_PKCS#11client.ini en PKCS#11eigenschappen.cfg) gedownload in de PKCS#11 Wrapper.

de configuratiebestanden bewerken

PKCS#11 Wrapper configureren

Laten we nu uw clientsysteem configureren om de PKCS#11 Wrapper uit te voeren.

Stap 1: Java 8 installeren: sudo apt installeer openjdk-8-jdk 

Java 8 installeren

Stap 2: Stel Java 8 in als actieve versie: sudo update-alternatieven –config java 

Stel Java 8 in als de actieve versie

Stap 3: Installeer de opdrachtregelhulpprogramma's van de Android SDK: sudo apt install google-android-cmdline-tools-13.0-installer 

Installeer de Android SDK-opdrachtregelhulpprogramma's
Installeer de Android SDK-opdrachtregelhulpprogramma's

Stap 4: Zorg ervoor dat de SDK Manager voor Android Studio correct is geïnstalleerd: sdkmanager –versie 

Zorg voor installatie

Stap 5: Installeer Build Tools met behulp van SDKManager, dat de APKSigner bevat: sdkmanager “build-tools;34.0.0” 

Buildtools installeren met SDKManager

Stap 6: Zorg ervoor dat APKSigner aanwezig is: apksigner –versie

Zorg ervoor dat APKSigner aanwezig is

Stap 7: Er zijn twee pakketten nodig om de PKCS#11 Wrapper op uw systeem te draaien. Installeer eerst liblog4cxx-dev met: sudo apt-get install liblog4cxx-dev 

liblog4cxx-dev installeren

Stap 8: De laatste vereiste is de installatie van het curl-pakket: sudo apt-get install curl

Curl-pakket installeren

Oplossing voor codeondertekening voor bedrijven

Ontvang één oplossing voor al uw cryptografische behoeften op het gebied van softwarecodeondertekening met onze codeondertekeningsoplossing.

Een APK ondertekenen en verifiëren 

Nu alle configuraties en vereisten zijn geïnstalleerd, kunnen we eerst de ondertekening uitvoeren. 

De ondertekeningsopdracht ziet er ongeveer zo uit (zorg ervoor dat u deze opdracht alleen uitvoert in de map waar uw PKCS#11 Wrapper is geïnstalleerd):

apksigner sign –provider-class sun.security.PKCS#11.SunPKCS#11 –provider-arg –ks GEEN –ks-type PKCS#11 –ks-pass pass:abcd1234 –ks-key-alias -in -uit

Bijvoorbeeld: apksigner sign –provider-class sun.security.PKCS#11.SunPKCS#11 –provider-arg /home/administrator/PKCS#11_Wrapper-Ubuntu/PKCS#11properties.cfg –ks GEEN –ks-type PKCS#11 –ks-pass pass:abcd1234 –ks-key-alias gpg2 –in Sample.apk –out signed.apk 

APK-ondertekeningsbewerking uitvoeren

Nadat u de APK succesvol hebt ondertekend, kunt u deze verifiëren met behulp van de volgende opdracht:

apksigner verify -verbose

Bij voorbeeld: apksigner verify -verbose signed.apk

APK-ondertekening verifiëren

Configuratie van PKCS#11 Wrapper op MacOS 

Voorwaarden

Dit zijn de vereisten voor het gebruik van onze PKCS#11 Wrapper in uw systeem. Zorg ervoor dat het volgende klaar is voordat u begint (raadpleeg hiervoor de PKCS#11 WRAPPER CONFIGUREREN sectie voor de stappen): 

  • MacOS-versie: MacOS versie 13 (Ventura) of later (geteste omgeving is MacOS 15.1 Sequoia) 
  • Bijgebouwen: Installeer liblog4cxx-dev en curl. 
  • JDK: Oracle/OpenJDK 17 of hoger moet geïnstalleerd en geconfigureerd zijn.

Installatie van EC's PKCS#11 Wrapper 

Stap 1: Ga naar EC CodeSign Secure's v3.01 Ondertekeningshulpmiddelen sectie en download de PKCS11 Wrapper voor MacOS.

Sectie Ondertekeningshulpmiddelen in CodeSign Secure

Stap 2: Genereer daarna een P12-authenticatiecertificaat van de Systeeminstellingen > Gebruiker > Authenticatiecertificaat genereren dropdown.

Authenticatiecertificaat genereren

Stap 3: Ga naar uw MacOS-clientsysteem en bewerk de configuratiebestanden (ec_pkcs11client.ini en pkcs11properties.cfg) gedownload in de PKCS11 Wrapper.

Configuratiebestanden bewerken

PKCS#11 Wrapper configureren

Laten we nu uw clientsysteem configureren om de PKCS11 Wrapper uit te voeren.

Stap 1: Java 17 installeren: brew install openjdk@17

macOS Java installatie

Stap 2: Stel Java 17 in als actieve versie:

  • Voor Zsh: nano ~/.zshrc
  • Voor Bash: nano ~ / .bash_profile

Voeg deze regels toe: export JAVA_HOME=$(/usr/libexec/java_home -v 17)
exporteer PATH=$JAVA_HOME/bin:$PATH

En dan rennen: bron ~/.zshrc # of ~/.bash_profile

Java 17 instellen als actief op macOS
set java 17

Stap 3: Installeer de Android SDK-opdrachtregeltools vanaf dit site.

Android-opdrachtregeltools
opdrachtregeltools macOS

Stap 4: Zorg ervoor dat de SDK Manager voor Android Studio correct is geïnstalleerd: sdkmanager –sdk_root=/Gebruikers/subhayuroy/PKCS11_Wrapper-Mac –versie

Zorg ervoor dat SDK Manager correct is geïnstalleerd op macOS.

Stap 5: Installeer Build Tools met behulp van SDKManager, dat de APKSigner bevat: sdkmanager –sdk_root=/Gebruikers/subhayuroy/PKCS11_Wrapper-Mac “build-tools;34.0.0”

Buildtools installeren op macOS
sdkManager installatietools macOS

Stap 6: Zorg ervoor dat APKSigner aanwezig is: ls /Gebruikers/subhayuroy/PKCS11_Wrapper-Mac/build-tools/34.0.0/apksigner

Zorg ervoor dat ApkSigner voor macOS beschikbaar is.

Stap 7: Er zijn twee pakketten nodig om de PKCS11 Wrapper op uw systeem te draaien. Installeer eerst liblog4cxx-dev met: Brew installatie log4cxx

brew install macos

Stap 8: De laatste vereiste is de installatie van het curl-pakket: brouwen installeren krullen

brouwen installeren krullen

Stap 9: Zorg ervoor dat alle relatieve paden aan uw PATH-variabele (bestand ~/.zshrc) worden toegevoegd:

export PATH=/Gebruikers/subhayuroy/PKCS11_Wrapper-Mac/cmdline-tools/bin:$PATH

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

exporteer PATH=$JAVA_HOME/bin:$PATH

export ANDROID_SDK_ROOT=/Gebruikers/subhayuroy/PKCS11_Wrapper-Mac

export PATH=$PATH:/Gebruikers/subhayuroy/PKCS11_Wrapper-Mac/build-tools/34.0.0

Zorg voor relatieve paden in macOS

Een APK ondertekenen en verifiëren

Nu alle configuraties en vereisten zijn geïnstalleerd, kunnen we eerst de ondertekening uitvoeren.

Het ondertekeningscommando zal er ongeveer zo uitzien (zorg ervoor dat u deze opdracht alleen uitvoert in de map waar uw PKCS11 Wrapper is geïnstalleerd):

java –add-exports=jdk.crypto.cryptoki/sun.security.pkcs11=ALL-UNNAMED -jar teken –provider-klasse sun.security.pkcs11.SunPKCS11 –provider-arg –ks GEEN –ks-type PKCS11 –ks-pass pass:abcd1234 –ks-key-alias  -in -uit

Bijvoorbeeld: java –add-exports=jdk.crypto.cryptoki/sun.security.pkcs11=ALL-UNNAMED \ -jar /Users/subhayuroy/PKCS11_Wrapper-Mac/build-tools/34.0.0/lib/apksigner.jar \ sign \ –provider-class sun.security.pkcs11.SunPKCS11 \ –provider-arg /Users/subhayuroy/PKCS11_Wrapper-Mac/pkcs11properties.cfg \ –ks GEEN \ –ks-type PKCS11 \ –ks-pass pass:abcd1234 \ –ks-key-alias gpg2 \ –in Sample.apk \ –out signed.apk

APK ondertekenen macOS

Nadat u de APK succesvol hebt ondertekend, kunt u deze verifiëren met behulp van de volgende opdracht:

apksigner verify -verbose

Bijvoorbeeld: apksigner verify -verbose signed.apk

APK verifiëren macOS

Conclusie

Onze PKCS#11 Wrapper biedt ongeëvenaarde prestaties, inclusief client-side hashing voor snellere prestaties en soepele integratie in uw bestaande workflows. Met onze codeondertekeningsoplossing – CodeSign Secure v3.01kunt u eindgebruikers vertrouwen en uw apps veilig beveiligen.  

Door samen te werken met Encryption Consulting investeert u in een oplossing die wereldwijd wordt vertrouwd door ontwikkelaars en organisaties om hun softwaretoeleveringsketen te beschermen, in plaats van slechts een tool te kiezen. Dit is uw kans om onze codeondertekeningstechnologieën te gebruiken om uw APK-ondertekening te verbeteren. 

Bezoek onze officiële website of neem contact op met onze ondersteuningsmedewerkers voor meer informatie of hulp.