summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/evp/p_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/evp/p_lib.c')
-rw-r--r--src/lib/libcrypto/evp/p_lib.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/p_lib.c b/src/lib/libcrypto/evp/p_lib.c
index 0e4c38e218..13a9d65f28 100644
--- a/src/lib/libcrypto/evp/p_lib.c
+++ b/src/lib/libcrypto/evp/p_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p_lib.c,v 1.24 2018/05/30 15:40:50 tb Exp $ */ 1/* $OpenBSD: p_lib.c,v 1.25 2019/03/17 18:17:45 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -282,6 +282,22 @@ EVP_PKEY_get0(const EVP_PKEY *pkey)
282 return pkey->pkey.ptr; 282 return pkey->pkey.ptr;
283} 283}
284 284
285const unsigned char *
286EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
287{
288 ASN1_OCTET_STRING *os;
289
290 if (pkey->type != EVP_PKEY_HMAC) {
291 EVPerror(EVP_R_EXPECTING_AN_HMAC_KEY);
292 return NULL;
293 }
294
295 os = EVP_PKEY_get0(pkey);
296 *len = os->length;
297
298 return os->data;
299}
300
285#ifndef OPENSSL_NO_RSA 301#ifndef OPENSSL_NO_RSA
286RSA * 302RSA *
287EVP_PKEY_get0_RSA(EVP_PKEY *pkey) 303EVP_PKEY_get0_RSA(EVP_PKEY *pkey)