]> git.ipfire.org Git - thirdparty/openssl.git/blob - providers/common/der/der_ecx_key.c
Teach EdDSA signature algorithms about AlgorithmIdentifiers
[thirdparty/openssl.git] / providers / common / der / der_ecx_key.c
1 /*
2 * Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10 #include <openssl/obj_mac.h>
11 #include "internal/packet.h"
12 #include "prov/der_ecx.h"
13
14 int DER_w_algorithmIdentifier_X25519(WPACKET *pkt, int cont, ECX_KEY *ec)
15 {
16 return DER_w_begin_sequence(pkt, cont)
17 /* No parameters (yet?) */
18 && DER_w_precompiled(pkt, -1, der_oid_id_X25519,
19 sizeof(der_oid_id_X25519))
20 && DER_w_end_sequence(pkt, cont);
21 }
22
23 int DER_w_algorithmIdentifier_X448(WPACKET *pkt, int cont, ECX_KEY *ec)
24 {
25 return DER_w_begin_sequence(pkt, cont)
26 /* No parameters (yet?) */
27 && DER_w_precompiled(pkt, -1, der_oid_id_X448,
28 sizeof(der_oid_id_X448))
29 && DER_w_end_sequence(pkt, cont);
30 }
31
32 int DER_w_algorithmIdentifier_ED25519(WPACKET *pkt, int cont, ECX_KEY *ec)
33 {
34 return DER_w_begin_sequence(pkt, cont)
35 /* No parameters (yet?) */
36 && DER_w_precompiled(pkt, -1, der_oid_id_Ed25519,
37 sizeof(der_oid_id_Ed25519))
38 && DER_w_end_sequence(pkt, cont);
39 }
40
41 int DER_w_algorithmIdentifier_ED448(WPACKET *pkt, int cont, ECX_KEY *ec)
42 {
43 return DER_w_begin_sequence(pkt, cont)
44 /* No parameters (yet?) */
45 && DER_w_precompiled(pkt, -1, der_oid_id_Ed448,
46 sizeof(der_oid_id_Ed448))
47 && DER_w_end_sequence(pkt, cont);
48 }