summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/pkcs12/p12_mutl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/pkcs12/p12_mutl.c')
-rw-r--r--src/lib/libcrypto/pkcs12/p12_mutl.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_mutl.c b/src/lib/libcrypto/pkcs12/p12_mutl.c
index 7474bf5ff3..5c9cea90db 100644
--- a/src/lib/libcrypto/pkcs12/p12_mutl.c
+++ b/src/lib/libcrypto/pkcs12/p12_mutl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p12_mutl.c,v 1.30 2022/07/25 05:06:06 tb Exp $ */ 1/* $OpenBSD: p12_mutl.c,v 1.31 2022/08/03 20:16:06 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -72,6 +72,39 @@
72#include "hmac_local.h" 72#include "hmac_local.h"
73#include "x509_lcl.h" 73#include "x509_lcl.h"
74 74
75int
76PKCS12_mac_present(const PKCS12 *p12)
77{
78 return p12->mac != NULL;
79}
80
81void
82PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac, const X509_ALGOR **pmacalg,
83 const ASN1_OCTET_STRING **psalt, const ASN1_INTEGER **piter,
84 const PKCS12 *p12)
85{
86 if (p12->mac == NULL) {
87 if (pmac != NULL)
88 *pmac = NULL;
89 if (pmacalg != NULL)
90 *pmacalg = NULL;
91 if (psalt != NULL)
92 *psalt = NULL;
93 if (piter != NULL)
94 *piter = NULL;
95 return;
96 }
97
98 if (pmac != NULL)
99 *pmac = p12->mac->dinfo->digest;
100 if (pmacalg != NULL)
101 *pmacalg = p12->mac->dinfo->algor;
102 if (psalt != NULL)
103 *psalt = p12->mac->salt;
104 if (piter != NULL)
105 *piter = p12->mac->iter;
106}
107
75/* Generate a MAC */ 108/* Generate a MAC */
76int 109int
77PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, 110PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,