summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTheo Buehler <tb@cvs.openbsd.org>2021-10-23 11:41:51 +0000
committerTheo Buehler <tb@cvs.openbsd.org>2021-10-23 11:41:51 +0000
commitbee2d9e3a58916a782432207f79fada365e788a3 (patch)
tree0a366087e7f8d77c8b78ae1d40e1cb07ccf2f0f6 /lib
parentc9f71159978a06ff619754809636335f78741739 (diff)
Prepare to provide X509_SIG_get{0,m}.
ok beck jsing
Diffstat (limited to 'lib')
-rw-r--r--lib/libcrypto/asn1/x_sig.c21
-rw-r--r--lib/libcrypto/x509/x509.h9
2 files changed, 28 insertions, 2 deletions
diff --git a/lib/libcrypto/asn1/x_sig.c b/lib/libcrypto/asn1/x_sig.c
index 702bc40e558..dc3af45f6d1 100644
--- a/lib/libcrypto/asn1/x_sig.c
+++ b/lib/libcrypto/asn1/x_sig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: x_sig.c,v 1.11 2015/02/11 04:00:39 jsing Exp $ */
+/* $OpenBSD: x_sig.c,v 1.12 2021/10/23 11:41:50 tb Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -108,3 +108,22 @@ X509_SIG_free(X509_SIG *a)
{
ASN1_item_free((ASN1_VALUE *)a, &X509_SIG_it);
}
+
+void
+X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
+ const ASN1_OCTET_STRING **pdigest)
+{
+ if (palg != NULL)
+ *palg = sig->algor;
+ if (pdigest != NULL)
+ *pdigest = sig->digest;
+}
+
+void
+X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg, ASN1_OCTET_STRING **pdigest)
+{
+ if (palg != NULL)
+ *palg = sig->algor;
+ if (pdigest != NULL)
+ *pdigest = sig->digest;
+}
diff --git a/lib/libcrypto/x509/x509.h b/lib/libcrypto/x509/x509.h
index 0d3b3abebc7..e8383d717c0 100644
--- a/lib/libcrypto/x509/x509.h
+++ b/lib/libcrypto/x509/x509.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: x509.h,v 1.79 2021/10/22 16:42:13 tb Exp $ */
+/* $OpenBSD: x509.h,v 1.80 2021/10/23 11:41:50 tb Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -829,6 +829,13 @@ void X509_SIG_free(X509_SIG *a);
X509_SIG *d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len);
int i2d_X509_SIG(X509_SIG *a, unsigned char **out);
extern const ASN1_ITEM X509_SIG_it;
+#if defined(LIBRESSL_NEW_API)
+void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,
+ const ASN1_OCTET_STRING **pdigest);
+void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg,
+ ASN1_OCTET_STRING **pdigest);
+#endif
+
X509_REQ_INFO *X509_REQ_INFO_new(void);
void X509_REQ_INFO_free(X509_REQ_INFO *a);
X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len);