Vai al contenuto

Bundle criptati

GitHub

Dalla versione 4.15.0, il plugin permette di inviare aggiornamenti crittografati.

Crea una chiave privata
npx @capgo/cli key create
Crea lo zip del bundle con checksum
npx @capgo/cli bundle zip [appId] --key-v2 --json

L'oggetto --key-v2 flag utilizza il nuovo sistema di crittografia con checksum migliori, e il --json flag restituirà le informazioni del bundle, incluso il checksum che ti servirà per la crittografia.

Crittografa lo zip del bundle con checksum
npx @capgo/cli encrypt [path/to/zip] [checksum]

L'oggetto checksum il parametro è il checksum SHA256 generato dal comando zip al punto 2. Il comando encrypt restituirà un ivSessionKey e genererà un checksum criptato. Ricordati di rinominare ivSessionKey la chiave come session_key nel payload dell'update.

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"session_key": "encrypted_session_key",
"checksum": "encrypted_checksum_from_encrypt_command"
}

L'oggetto session_key è il ivSessionKey restituito dal comando encrypt, e il checksum è il checksum criptato generato durante la cifratura (non il checksum originale del comando zip).

In questo modo, la tua app potrà usare la chiave privata per decriptare il session_key e usare il contenuto decriptato session_key per decriptare l'update. Il checksum criptato garantisce la verifica dell'integrità del bundle.

Se stai usando Bundle criptati per pianificare sicurezza e compliance, collegalo a Utilizzo di @capgo/capacitor-updater per la funzionalità nativa in Utilizzo di @capgo/capacitor-updater, Crittografia per i dettagli di implementazione in Encryption, Conformità per i dettagli di implementazione in Compliance, Scanner di sicurezza Capgo per il workflow del prodotto in Capgo Security Scanner, e Sicurezza Capgo per il workflow del prodotto in Capgo Security.