/**@class android.security.keystore.KeyProperties @extends java.lang.Object Properties of <a href="{@docRoot}training/articles/keystore.html">Android Keystore</a> keys. */ var KeyProperties = { /** Purpose of key: encryption. */ PURPOSE_ENCRYPT : "1", /** Purpose of key: decryption. */ PURPOSE_DECRYPT : "2", /** Purpose of key: signing or generating a Message Authentication Code (MAC). */ PURPOSE_SIGN : "4", /** Purpose of key: signature or Message Authentication Code (MAC) verification. */ PURPOSE_VERIFY : "8", /** Purpose of key: wrapping and unwrapping wrapped keys for secure import. */ PURPOSE_WRAP_KEY : "32", /**Rivest Shamir Adleman (RSA) key. */ KEY_ALGORITHM_RSA : "RSA", /**Elliptic Curve (EC) Cryptography key. */ KEY_ALGORITHM_EC : "EC", /**Advanced Encryption Standard (AES) key. */ KEY_ALGORITHM_AES : "AES", /** Triple Data Encryption Algorithm (3DES) key. @deprecated Included for interoperability with legacy systems. Prefer {@link android.security.keystore.KeyProperties#KEY_ALGORITHM_AES} for new development. */ KEY_ALGORITHM_3DES : "DESede", /**Keyed-Hash Message Authentication Code (HMAC) key using SHA-1 as the hash. */ KEY_ALGORITHM_HMAC_SHA1 : "HmacSHA1", /**Keyed-Hash Message Authentication Code (HMAC) key using SHA-224 as the hash. */ KEY_ALGORITHM_HMAC_SHA224 : "HmacSHA224", /**Keyed-Hash Message Authentication Code (HMAC) key using SHA-256 as the hash. */ KEY_ALGORITHM_HMAC_SHA256 : "HmacSHA256", /**Keyed-Hash Message Authentication Code (HMAC) key using SHA-384 as the hash. */ KEY_ALGORITHM_HMAC_SHA384 : "HmacSHA384", /**Keyed-Hash Message Authentication Code (HMAC) key using SHA-512 as the hash. */ KEY_ALGORITHM_HMAC_SHA512 : "HmacSHA512", /**Electronic Codebook (ECB) block mode. */ BLOCK_MODE_ECB : "ECB", /**Cipher Block Chaining (CBC) block mode. */ BLOCK_MODE_CBC : "CBC", /**Counter (CTR) block mode. */ BLOCK_MODE_CTR : "CTR", /**Galois/Counter Mode (GCM) block mode. */ BLOCK_MODE_GCM : "GCM", /** No encryption padding. */ ENCRYPTION_PADDING_NONE : "NoPadding", /** PKCS#7 encryption padding scheme. */ ENCRYPTION_PADDING_PKCS7 : "PKCS7Padding", /** RSA PKCS#1 v1.5 padding scheme for encryption. */ ENCRYPTION_PADDING_RSA_PKCS1 : "PKCS1Padding", /** RSA Optimal Asymmetric Encryption Padding (OAEP) scheme. */ ENCRYPTION_PADDING_RSA_OAEP : "OAEPPadding", /** RSA PKCS#1 v1.5 padding for signatures. */ SIGNATURE_PADDING_RSA_PKCS1 : "PKCS1", /** RSA PKCS#1 v2.1 Probabilistic Signature Scheme (PSS) padding. */ SIGNATURE_PADDING_RSA_PSS : "PSS", /** No digest: sign/authenticate the raw message. */ DIGEST_NONE : "NONE", /** MD5 digest. */ DIGEST_MD5 : "MD5", /** SHA-1 digest. */ DIGEST_SHA1 : "SHA-1", /** SHA-2 224 (aka SHA-224) digest. */ DIGEST_SHA224 : "SHA-224", /** SHA-2 256 (aka SHA-256) digest. */ DIGEST_SHA256 : "SHA-256", /** SHA-2 384 (aka SHA-384) digest. */ DIGEST_SHA384 : "SHA-384", /** SHA-2 512 (aka SHA-512) digest. */ DIGEST_SHA512 : "SHA-512", /**Key was generated inside AndroidKeyStore. */ ORIGIN_GENERATED : "1", /**Key was imported into AndroidKeyStore. */ ORIGIN_IMPORTED : "2", /** Origin of the key is unknown. This can occur only for keys backed by an old TEE-backed implementation which does not record origin information. */ ORIGIN_UNKNOWN : "4", /** Key was imported into the AndroidKeyStore in an encrypted wrapper. Unlike imported keys, securely imported keys can be imported without appearing as plaintext in the device's host memory. */ ORIGIN_SECURELY_IMPORTED : "8", };