aboutsummaryrefslogtreecommitdiff
path: root/providers/defltprov.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-02-28 08:08:59 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-02-28 08:08:59 +1000
commit8efc4a9c656b8b3eabeac64c54efdeb07dd42f8e (patch)
treeb0bc5aac800d9bb912afb2dae10dd3f3bf503a08 /providers/defltprov.c
parent30a4cda5e0c67b4e77da4f21b7c5f27991d3367a (diff)
downloadopenssl-8efc4a9c656b8b3eabeac64c54efdeb07dd42f8e.zip
openssl-8efc4a9c656b8b3eabeac64c54efdeb07dd42f8e.tar.gz
openssl-8efc4a9c656b8b3eabeac64c54efdeb07dd42f8e.tar.bz2
Implement the ECX Serializers
Provide serializers for X25519 and X448 for text, pem and der. There are no parameter serializers because there are no parameters for these algorithms. Add some documentation about the various import/export types available Add additional testing for the serializers Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/11095)
Diffstat (limited to 'providers/defltprov.c')
-rw-r--r--providers/defltprov.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/providers/defltprov.c b/providers/defltprov.c
index d513dbe..9400eee 100644
--- a/providers/defltprov.c
+++ b/providers/defltprov.c
@@ -470,6 +470,34 @@ static const OSSL_ALGORITHM deflt_serializer[] = {
dsa_param_pem_serializer_functions },
#endif
+#ifndef OPENSSL_NO_EC
+ { "X25519", "provider=default,format=text,type=private",
+ x25519_priv_print_serializer_functions },
+ { "X25519", "provider=default,format=text,type=public",
+ x25519_pub_print_serializer_functions },
+ { "X25519", "provider=default,format=der,type=private",
+ x25519_priv_der_serializer_functions },
+ { "X25519", "provider=default,format=der,type=public",
+ x25519_pub_der_serializer_functions },
+ { "X25519", "provider=default,format=pem,type=private",
+ x25519_priv_pem_serializer_functions },
+ { "X25519", "provider=default,format=pem,type=public",
+ x25519_pub_pem_serializer_functions },
+
+ { "X448", "provider=default,format=text,type=private",
+ x448_priv_print_serializer_functions },
+ { "X448", "provider=default,format=text,type=public",
+ x448_pub_print_serializer_functions },
+ { "X448", "provider=default,format=der,type=private",
+ x448_priv_der_serializer_functions },
+ { "X448", "provider=default,format=der,type=public",
+ x448_pub_der_serializer_functions },
+ { "X448", "provider=default,format=pem,type=private",
+ x448_priv_pem_serializer_functions },
+ { "X448", "provider=default,format=pem,type=public",
+ x448_pub_pem_serializer_functions },
+#endif
+
{ NULL, NULL, NULL }
};