From 52ad5b60e3a1fef12a1a5ea01527a90b8f92a34b Mon Sep 17 00:00:00 2001 From: Todd Short Date: Fri, 16 Dec 2016 17:00:43 -0500 Subject: Add support for Poly1305 in EVP_PKEY Add Poly1305 as a "signed" digest. Reviewed-by: Andy Polyakov Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/2128) --- crypto/evp/p_lib.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'crypto/evp/p_lib.c') diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 234d05f270..047e832637 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -249,6 +249,20 @@ const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len) return os->data; } +#ifndef OPENSSL_NO_POLY1305 +const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len) +{ + ASN1_OCTET_STRING *os = NULL; + if (pkey->type != EVP_PKEY_POLY1305) { + EVPerr(EVP_F_EVP_PKEY_GET0_POLY1305, EVP_R_EXPECTING_A_POLY1305_KEY); + return NULL; + } + os = EVP_PKEY_get0(pkey); + *len = os->length; + return os->data; +} +#endif + #ifndef OPENSSL_NO_RSA int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key) { -- cgit v1.2.3