blob: 53741d094411f686aec5a531e9c0c0aeac2477cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* Copyright 2023 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "crypto/elliptic_curve_key.h"
#include "openssl/ec_key.h"
#include "openssl/mem.h"
#include "openssl/obj_mac.h"
bssl::UniquePtr<EC_KEY> generate_elliptic_curve_key()
{
bssl::UniquePtr<EC_KEY> key(
EC_KEY_new_by_curve_name(NID_X9_62_prime256v1));
if (key == nullptr) {
return nullptr;
}
if (EC_KEY_generate_key(key.get()) != 1) {
return nullptr;
}
return key;
}
|