Files
ipxe/src/crypto/mishmash/oid_p256.c
T
Michael Brown 1a0ebb9ba5 [tls] Rename "named curve" to "named group"
RFC 7919 renames the NamedCurve enumeration to NamedGroup, reflecting
its extended usage to handle key exchange groups that are not
constructed using elliptic curves.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2026-06-16 14:21:08 +01:00

47 lines
1.6 KiB
C

/*
* Copyright (C) 2025 Michael Brown <mbrown@fensystems.co.uk>.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
* You can also choose to distribute this program under the terms of
* the Unmodified Binary Distribution Licence (as given in the file
* COPYING.UBDL), provided that you have satisfied its requirements.
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
FILE_SECBOOT ( PERMITTED );
#include <byteswap.h>
#include <ipxe/p256.h>
#include <ipxe/asn1.h>
#include <ipxe/tls.h>
/** "prime256v1" object identifier */
static uint8_t oid_prime256v1[] = { ASN1_OID_PRIME256V1 };
/** "prime256v1" OID-identified algorithm */
struct asn1_algorithm prime256v1_algorithm __asn1_algorithm = {
.name = "prime256v1",
.curve = &p256_curve,
.oid = ASN1_CURSOR ( oid_prime256v1 ),
};
/** P-256 named group */
struct tls_named_group tls_secp256r1_named_group __tls_named_group ( 01 ) = {
.exchange = &p256_algorithm,
.code = htons ( TLS_NAMED_GROUP_SECP256R1 ),
};