Home | History | Annotate | Download | only in keymaster

Lines Matching refs:ec_key

30 #include <openssl/ec_key.h>
187 EC_KEY* Keymaster0Engine::BlobToEcKey(const KeymasterKeyBlob& blob) const {
189 unique_ptr<EC_KEY, EC_KEY_Delete> ec_key(EC_KEY_new_method(engine_));
190 if (!ec_key)
194 if (!blob_copy->key_material || !EC_KEY_set_ex_data(ec_key.get(), ec_key_index_, blob_copy))
202 unique_ptr<EC_KEY, EC_KEY_Delete> public_ec_key(EVP_PKEY_get1_EC_KEY(pkey.get()));
206 if (!EC_KEY_set_group(ec_key.get(), EC_KEY_get0_group(public_ec_key.get())) ||
207 !EC_KEY_set_public_key(ec_key.get(), EC_KEY_get0_public_key(public_ec_key.get())))
210 return ec_key.release();
217 const keymaster_key_blob_t* Keymaster0Engine::EcKeyToBlob(const EC_KEY* ec_key) const {
218 return reinterpret_cast<keymaster_key_blob_t*>(EC_KEY_get_ex_data(ec_key, ec_key_index_));
254 unsigned int* sig_len, EC_KEY* ec_key) {
255 ALOGV("ecdsa_sign(%p, %u, %p)", digest, (unsigned)digest_len, ec_key);
257 return instance_->EcdsaSign(digest, digest_len, sig, sig_len, ec_key);
344 unsigned int* sig_len, EC_KEY* ec_key) const {
345 const keymaster_key_blob_t* key_blob = EcKeyToBlob(ec_key);
352 size_t max_input_len = (ec_group_size_bits(ec_key) + 7) / 8;
370 } else if (signature_length > ECDSA_size(ec_key)) {
378 ALOGV("ecdsa_sign(%p, %u, %p) => success", digest, (unsigned)digest_len, ec_key);