/system/keymaster/ |
H A D | operation.cpp | 43 bool OperationFactory::supported(keymaster_digest_t digest) const { 47 if (digest == supported_digests[i]) 113 keymaster_digest_t* digest, 116 if (!begin_params.GetTagValue(TAG_DIGEST, digest)) { 119 } else if (!supported(*digest)) { 120 LOG_E("Digest %d not supported", *digest); 125 // Otherwise the key needs to authorize the specific digest. 126 !key.authorizations().Contains(TAG_DIGEST, *digest) && 127 !key.authorizations().Contains(TAG_DIGEST_OLD, *digest)) { 128 LOG_E("Digest %d was specified, but not authorized by key", *digest); 112 GetAndValidateDigest(const AuthorizationSet& begin_params, const Key& key, keymaster_digest_t* digest, keymaster_error_t* error) const argument [all...] |
H A D | hmac.h | 29 // DigestLength returns the length, in bytes, of the resulting digest. 38 // method. At most |digest_len| bytes of the resulting digest are written 39 // to |digest|. 40 bool Sign(const Buffer& data, uint8_t* digest, size_t digest_len) const; 41 bool Sign(const uint8_t* data, size_t data_len, uint8_t* digest, size_t digest_len) const; 43 // Verify returns true if |digest| is a valid HMAC of |data| using the key 44 // supplied to Init. |digest| must be exactly |DigestLength()| bytes long. 49 bool Verify(const Buffer& data, const Buffer& digest) const; 50 bool Verify(const uint8_t* data, size_t data_len, const uint8_t* digest,
|
H A D | hmac.cpp | 59 uint8_t* digest = tmp; local 61 digest = out_digest; 63 if (nullptr == ::HMAC(EVP_sha256(), key_.get(), key_len_, data, data_len, digest, nullptr)) { 72 bool HmacSha256::Verify(const Buffer& data, const Buffer& digest) const { 73 return Verify(data.peek_read(), data.available_read(), digest.peek_read(), 74 digest.available_read()); 77 bool HmacSha256::Verify(const uint8_t* data, size_t data_len, const uint8_t* digest, argument 86 return 0 == CRYPTO_memcmp(digest, computed_digest, SHA256_DIGEST_LENGTH);
|
H A D | rsa_operation.h | 36 RsaOperation(keymaster_purpose_t purpose, keymaster_digest_t digest, argument 38 : Operation(purpose), rsa_key_(key), padding_(padding), digest_(digest), 50 keymaster_digest_t digest() const { return digest_; } function in class:keymaster::RsaOperation 75 RsaDigestingOperation(keymaster_purpose_t purpose, keymaster_digest_t digest, 90 RsaSignOperation(keymaster_digest_t digest, keymaster_padding_t padding, EVP_PKEY* key) argument 91 : RsaDigestingOperation(KM_PURPOSE_SIGN, digest, padding, key) {} 111 RsaVerifyOperation(keymaster_digest_t digest, keymaster_padding_t padding, EVP_PKEY* key) argument 112 : RsaDigestingOperation(KM_PURPOSE_VERIFY, digest, padding, key) {} 132 RsaCryptOperation(keymaster_purpose_t, keymaster_digest_t digest, keymaster_padding_t padding, argument 134 : RsaOperation(KM_PURPOSE_ENCRYPT, digest, paddin 149 RsaEncryptOperation(keymaster_digest_t digest, keymaster_padding_t padding, EVP_PKEY* key) argument 160 RsaDecryptOperation(keymaster_digest_t digest, keymaster_padding_t padding, EVP_PKEY* key) argument [all...] |
H A D | hkdf.cpp | 75 uint8_t digest[kSHA256HashLength]; 83 memcpy(buf, digest, sizeof(digest)); 84 j = sizeof(digest); 89 result = hmac.Sign(buf, j, digest, sizeof(digest)); 91 memcpy(output_.get() + (i - 1) * sizeof(digest), digest, sizeof(digest));
|
H A D | rsa_key.cpp | 51 bool RsaKey::SupportedMode(keymaster_purpose_t purpose, keymaster_digest_t digest) { argument 55 return digest == KM_DIGEST_NONE || digest == KM_DIGEST_SHA_2_256;
|
H A D | ecdsa_operation.h | 31 EcdsaOperation(keymaster_purpose_t purpose, keymaster_digest_t digest, EVP_PKEY* key) argument 32 : Operation(purpose), digest_(digest), ecdsa_key_(key) { 52 EcdsaSignOperation(keymaster_purpose_t purpose, keymaster_digest_t digest, EVP_PKEY* key) argument 53 : EcdsaOperation(purpose, digest, key) {} 65 EcdsaVerifyOperation(keymaster_purpose_t purpose, keymaster_digest_t digest, EVP_PKEY* key) argument 66 : EcdsaOperation(purpose, digest, key) {} 84 virtual Operation* InstantiateOperation(keymaster_digest_t digest, EVP_PKEY* key) = 0; 90 Operation* InstantiateOperation(keymaster_digest_t digest, EVP_PKEY* key) { argument 91 return new (std::nothrow) EcdsaSignOperation(purpose(), digest, key); 98 Operation* InstantiateOperation(keymaster_digest_t digest, EVP_PKE argument [all...] |
H A D | hmac_operation.cpp | 60 keymaster_digest_t digest; local 61 if (!key.authorizations().GetTagValue(TAG_DIGEST, &digest)) { 70 purpose(), symmetric_key->key_data(), symmetric_key->key_data_size(), digest, 92 size_t key_data_size, keymaster_digest_t digest, size_t mac_length, 100 switch (digest) { 166 uint8_t digest[EVP_MAX_MD_SIZE]; local 168 if (!HMAC_Final(&ctx_, digest, &digest_len)) 175 if (!output->reserve(mac_length_) || !output->write(digest, mac_length_)) 184 if (CRYPTO_memcmp(signature.peek_read(), digest, siglen) != 0) 91 HmacOperation(keymaster_purpose_t purpose, const uint8_t* key_data, size_t key_data_size, keymaster_digest_t digest, size_t mac_length, size_t min_mac_length) argument
|
H A D | hmac_test.cpp | 33 uint8_t digest[32]; member in struct:keymaster::test::HmacTest 70 uint8_t digest_copy[sizeof(test.digest)]; 71 memcpy(digest_copy, test.digest, sizeof(test.digest));
|
H A D | hmac_key.cpp | 69 keymaster_digest_t digest; 70 if (!key_description.GetTagValue(TAG_DIGEST, &digest)) { 76 switch (digest) { 100 // digest was not matched
|
H A D | rsa_key.h | 36 bool SupportedMode(keymaster_purpose_t purpose, keymaster_digest_t digest);
|
H A D | keymaster0_engine.h | 71 static int ecdsa_sign(const uint8_t* digest, size_t digest_len, uint8_t* sig, 84 int EcdsaSign(const uint8_t* digest, size_t digest_len, uint8_t* sig, unsigned int* sig_len,
|
H A D | android_keymaster_test_utils.cpp | 362 keymaster_digest_t digest) { 365 input_params.push_back(TAG_DIGEST, digest); 374 keymaster_digest_t digest, keymaster_padding_t padding) { 377 input_params.push_back(TAG_DIGEST, digest); 398 keymaster_digest_t digest) { 401 input_params.push_back(TAG_DIGEST, digest); 409 keymaster_digest_t digest, keymaster_padding_t padding) { 412 input_params.push_back(TAG_DIGEST, digest); 443 string Keymaster1Test::EncryptMessage(const string& message, keymaster_digest_t digest, argument 446 return EncryptMessage(update_params, message, digest, paddin 361 SignMessage(const string& message, string* signature, keymaster_digest_t digest) argument 373 SignMessage(const string& message, string* signature, keymaster_digest_t digest, keymaster_padding_t padding) argument 397 VerifyMessage(const string& message, const string& signature, keymaster_digest_t digest) argument 408 VerifyMessage(const string& message, const string& signature, keymaster_digest_t digest, keymaster_padding_t padding) argument 455 EncryptMessage(const AuthorizationSet& update_params, const string& message, keymaster_digest_t digest, keymaster_padding_t padding, string* generated_nonce) argument 509 DecryptMessage(const string& ciphertext, keymaster_digest_t digest, keymaster_padding_t padding) argument 529 DecryptMessage(const string& ciphertext, keymaster_digest_t digest, keymaster_padding_t padding, const string& nonce) argument 551 DecryptMessage(const AuthorizationSet& update_params, const string& ciphertext, keymaster_digest_t digest, keymaster_padding_t padding, const string& nonce) argument 581 CheckHmacTestVector(string key, string message, keymaster_digest_t digest, string expected_mac) argument [all...] |
H A D | hmac_operation.h | 29 keymaster_digest_t digest, size_t mac_length, size_t min_mac_length);
|
H A D | android_keymaster_test_utils.h | 221 void SignMessage(const std::string& message, std::string* signature, keymaster_digest_t digest); 222 void SignMessage(const std::string& message, std::string* signature, keymaster_digest_t digest, 227 keymaster_digest_t digest); 229 keymaster_digest_t digest, keymaster_padding_t padding); 234 std::string EncryptMessage(const std::string& message, keymaster_digest_t digest, 239 keymaster_digest_t digest, keymaster_padding_t padding, 250 std::string DecryptMessage(const std::string& ciphertext, keymaster_digest_t digest, 254 std::string DecryptMessage(const std::string& ciphertext, keymaster_digest_t digest, 259 keymaster_digest_t digest, keymaster_padding_t padding, 265 void CheckHmacTestVector(std::string key, std::string message, keymaster_digest_t digest, [all...] |
H A D | keymaster0_engine.cpp | 273 int Keymaster0Engine::ecdsa_sign(const uint8_t* digest, size_t digest_len, uint8_t* sig, argument 275 ALOGV("ecdsa_sign(%p, %u, %p)", digest, (unsigned)digest_len, ec_key); 277 return instance_->EcdsaSign(digest, digest_len, sig, sig_len, ec_key); 360 int Keymaster0Engine::EcdsaSign(const uint8_t* digest, size_t digest_len, uint8_t* sig, argument 368 // Truncate digest if it's too long 376 if (!Keymaster0Sign(&sign_params, *key_blob, digest, digest_len, &signature, &signature_length)) 391 ALOGV("ecdsa_sign(%p, %u, %p) => success", digest, (unsigned)digest_len, ec_key);
|
/system/core/include/mincrypt/ |
H A D | sha.h | 42 // Convenience method. Returns digest address. 43 // NOTE: *digest needs to hold SHA_DIGEST_SIZE bytes. 44 const uint8_t* SHA_hash(const void* data, int len, uint8_t* digest);
|
H A D | sha256.h | 43 // Convenience method. Returns digest address. 44 const uint8_t* SHA256_hash(const void* data, int len, uint8_t* digest);
|
H A D | hash-internal.h | 56 #define HASH_hash(data, len, digest) (ctx)->f->hash(data, len, digest)
|
/system/core/gatekeeperd/ |
H A D | SoftGateKeeper.h | 37 uint8_t digest[SHA256_DIGEST_LENGTH]; member in struct:gatekeeper::fast_hash_t 137 std::unique_ptr<uint8_t[]> digest(new uint8_t[digest_size]); 138 memcpy(digest.get(), &salt, sizeof(salt)); 139 memcpy(digest.get() + sizeof(salt), password.buffer.get(), password.length); 141 SHA256(digest.get(), digest_size, (uint8_t *) &fast_hash.digest); 149 return memcmp(computed.digest, fast_hash.digest, SHA256_DIGEST_LENGTH) == 0;
|
/system/extras/verity/ |
H A D | VerityVerifier.java | 55 private MessageDigest digest; field in class:VerityVerifier 73 digest = MessageDigest.getInstance("SHA-256"); 74 hashSize = digest.getDigestLength(); 311 digest.reset(); 312 digest.update(salt); 313 digest.update(data); 314 return Arrays.equals(hash, digest.digest());
|
H A D | verify_boot_signature.c | 228 * @param digest Pointer to a buffer where the hash is written 231 unsigned char *digest) 242 if (!aa || !digest) { 295 EVP_DigestFinal(ctx, digest, NULL); 326 unsigned char digest[SHA256_DIGEST_LENGTH]; local 332 if (hash_image(fd, length, bs->authenticatedAttributes, digest) == -1) { 346 if (!RSA_verify(NID_sha256, digest, SHA256_DIGEST_LENGTH, 230 hash_image(int fd, uint64_t length, const AuthAttrs *aa, unsigned char *digest) argument
|
/system/core/libmincrypt/ |
H A D | sha.c | 149 const uint8_t* SHA_hash(const void* data, int len, uint8_t* digest) { argument 153 memcpy(digest, SHA_final(&ctx), SHA_DIGEST_SIZE); 154 return digest;
|
H A D | sha256.c | 178 const uint8_t* SHA256_hash(const void* data, int len, uint8_t* digest) { argument 182 memcpy(digest, SHA256_final(&ctx), SHA256_DIGEST_SIZE); 183 return digest;
|
/system/security/keystore-engine/ |
H A D | android_engine.cpp | 231 /* ecdsa_sign signs |digest_len| bytes from |digest| with |ec_key| and writes 234 static int ecdsa_sign(const uint8_t* digest, size_t digest_len, uint8_t* sig, argument 236 ALOGV("ecdsa_sign(%p, %u, %p)", digest, (unsigned) digest_len, ec_key); 258 digest, digest_len, &reply, &reply_len); 278 ALOGV("ecdsa_sign(%p, %u, %p) => success", digest, (unsigned)digest_len,
|