blob: 64ffc7a4ba8756439b1abb4191a63c66e5eea5b6 [file] [log] [blame]
Shawn Willden2c8dd3e2014-09-18 15:16:31 -06001/*
2 * Copyright 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Thai Duongf862a762015-03-18 14:10:56 -070017#include "ec_key.h"
Shawn Willden0cb69422015-05-26 08:31:37 -060018
Shawn Willden0cb69422015-05-26 08:31:37 -060019#if defined(OPENSSL_IS_BORINGSSL)
20typedef size_t openssl_size_t;
21#else
22typedef int openssl_size_t;
23#endif
Shawn Willden2c8dd3e2014-09-18 15:16:31 -060024
25namespace keymaster {
26
Thai Duongf862a762015-03-18 14:10:56 -070027bool EcKey::EvpToInternal(const EVP_PKEY* pkey) {
28 ec_key_.reset(EVP_PKEY_get1_EC_KEY(const_cast<EVP_PKEY*>(pkey)));
29 return ec_key_.get() != NULL;
Shawn Willden2c8dd3e2014-09-18 15:16:31 -060030}
31
Thai Duongf862a762015-03-18 14:10:56 -070032bool EcKey::InternalToEvp(EVP_PKEY* pkey) const {
33 return EVP_PKEY_set1_EC_KEY(pkey, ec_key_.get()) == 1;
Shawn Willden2c8dd3e2014-09-18 15:16:31 -060034}
35
36} // namespace keymaster