Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeyStoreAPI Upgrade (Encrypt/Decrypt + more) #556

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Sep 29, 2022

  1. Configuration menu
    Copy the full SHA
    40f51ba View commit details
    Browse the repository at this point in the history
  2. Encrypt/Decrypt + more Keystore Support

    + Receiver receives context, sent to list, delete, encrypt, and decrypt for shared preferences
    
    + listKeys is now listData and supports showing secret keys and preferences
    + printKey supports secret keys and more KeyInfo parameters
    
    + deleteKey is now deleteData and supports deleting preferences
    + deleteData deletes all key-associated preferences upon deletion
    
    + generateKey supports more key parameters (mode, padding, purposes, unlocked, invalidate, auths)
    + generateKey supports secret keys
    + generateKey refactored
    
    + encryptData added
    + encryptData supports Keystore Ciphers
    + encryptData supports reading from path or stdin
    + encryptData supports writing to shared preferences or stdout
    + encryptData writes output in the form [IV.length][IV][Encrypted Data], if IV.length is 0 then IV omitted
    + encryptedData never exposes data to Strings, stays as byte arrays and is flushed with zeroes after use
    + encryptedData supports a quiet flag so encrypted data does not show in stdout
    + encryptedData supports multiple shared preferences stored as a JSON with a key, value pair
    + encryptedData encodes output to Base64
    
    + decryptData added
    + decryptData supports Keystore Ciphers
    + decryptData supports reading from path, shared preferences, or stdin
    + decryptData supports writing to stdout
    + decryptData reads output in the form [IV.length][IV][Encrypted Data], if IV.length is 0 then IV omitted
    + decryptedData never exposes data to Strings, stays as byte arrays and is flushed with zeroes after use
    + decryptedData supports a quiet flag so decrypted data does not show in stdout
    + decryptedData supports reading from JSON shared preferences with a key, value pair
    + decryptedData encodes output to Base64
    
    + decomposeBinary (for purposes and authorizations)
    + getPrefsJSON and setPrefJSON (preferences as JSON)
    + getIVSpec (support different AlgorithmParameterSpecs)
    + getKey (get Public or Secret key for encryption, Private or Secret key for decryption)
    + readFile (also supports Android < 8.0)
    
    + Replaced ECGenParameterSpec and RSAKeyGenParameterSpec with AlgorithmParameterSpec
    - Removed unnecessary imports and casts
    EduardDurech authored Sep 29, 2022
    Configuration menu
    Copy the full SHA
    3263d3c View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2022

  1. Configuration menu
    Copy the full SHA
    e34589b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    601caf7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    28822be View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2022

  1. Support for authentication call

    FingerprintAPI
    + Support for `authenticationTimeout` extra
    + Supports `EXTRA_LOCK_ACTION` which locks FingerprintAPI call until Authentication Callback
    + Supports specifying authentication scheme(s)
    
    KeystoreAPI
    + Supports retrying authentication
    + Code optimization (cipherCall(), getKey(), getKeyInfo(), string compares)
    EduardDurech committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    e8aaf70 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2022

  1. Fixed authentication time-out

    For API<=29 (unfortunately, had to stop support for device credentials <=29 as there is inconsistent callback behaviour)
    EduardDurech committed Oct 18, 2022
    Configuration menu
    Copy the full SHA
    4cb2388 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2022

  1. Configuration menu
    Copy the full SHA
    c378dd8 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2022

  1. Added activity.finish()

    EduardDurech authored Oct 23, 2022
    Configuration menu
    Copy the full SHA
    04e1f1a View commit details
    Browse the repository at this point in the history