diff options
author | tb <> | 2019-03-17 18:17:45 +0000 |
---|---|---|
committer | tb <> | 2019-03-17 18:17:45 +0000 |
commit | af9a3893c75bea9cdb40ebd337ad14721e571211 (patch) | |
tree | b05f68bd83b8de77bfa409e47aaaf56b0150950b /src/lib/libcrypto/evp/p_lib.c | |
parent | fb0b540c39c782c9152081c2021f54363e04307c (diff) | |
download | openbsd-af9a3893c75bea9cdb40ebd337ad14721e571211.tar.gz openbsd-af9a3893c75bea9cdb40ebd337ad14721e571211.tar.bz2 openbsd-af9a3893c75bea9cdb40ebd337ad14721e571211.zip |
Provide EVP_PKEY_get0_hmac(). From OpenSSL 1.1.1 which is still
freely licensed.
From jsing
Diffstat (limited to 'src/lib/libcrypto/evp/p_lib.c')
-rw-r--r-- | src/lib/libcrypto/evp/p_lib.c | 18 |
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 | ||
285 | const unsigned char * | ||
286 | EVP_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 |
286 | RSA * | 302 | RSA * |
287 | EVP_PKEY_get0_RSA(EVP_PKEY *pkey) | 303 | EVP_PKEY_get0_RSA(EVP_PKEY *pkey) |