xref: /freebsd/crypto/openssl/providers/common/der/der_ecx_key.c (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
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 
ossl_DER_w_algorithmIdentifier_X25519(WPACKET * pkt,int cont,ECX_KEY * ec)14 int ossl_DER_w_algorithmIdentifier_X25519(WPACKET *pkt, int cont, ECX_KEY *ec)
15 {
16     return ossl_DER_w_begin_sequence(pkt, cont)
17         /* No parameters (yet?) */
18         && ossl_DER_w_precompiled(pkt, -1, ossl_der_oid_id_X25519,
19                                   sizeof(ossl_der_oid_id_X25519))
20         && ossl_DER_w_end_sequence(pkt, cont);
21 }
22 
ossl_DER_w_algorithmIdentifier_X448(WPACKET * pkt,int cont,ECX_KEY * ec)23 int ossl_DER_w_algorithmIdentifier_X448(WPACKET *pkt, int cont, ECX_KEY *ec)
24 {
25     return ossl_DER_w_begin_sequence(pkt, cont)
26         /* No parameters (yet?) */
27         && ossl_DER_w_precompiled(pkt, -1, ossl_der_oid_id_X448,
28                                   sizeof(ossl_der_oid_id_X448))
29         && ossl_DER_w_end_sequence(pkt, cont);
30 }
31 
ossl_DER_w_algorithmIdentifier_ED25519(WPACKET * pkt,int cont,ECX_KEY * ec)32 int ossl_DER_w_algorithmIdentifier_ED25519(WPACKET *pkt, int cont, ECX_KEY *ec)
33 {
34     return ossl_DER_w_begin_sequence(pkt, cont)
35         /* No parameters (yet?) */
36         && ossl_DER_w_precompiled(pkt, -1, ossl_der_oid_id_Ed25519,
37                                   sizeof(ossl_der_oid_id_Ed25519))
38         && ossl_DER_w_end_sequence(pkt, cont);
39 }
40 
ossl_DER_w_algorithmIdentifier_ED448(WPACKET * pkt,int cont,ECX_KEY * ec)41 int ossl_DER_w_algorithmIdentifier_ED448(WPACKET *pkt, int cont, ECX_KEY *ec)
42 {
43     return ossl_DER_w_begin_sequence(pkt, cont)
44         /* No parameters (yet?) */
45         && ossl_DER_w_precompiled(pkt, -1, ossl_der_oid_id_Ed448,
46                                   sizeof(ossl_der_oid_id_Ed448))
47         && ossl_DER_w_end_sequence(pkt, cont);
48 }
49