summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2021-10-22 16:42:13 +0000
committertb <>2021-10-22 16:42:13 +0000
commit905a18fb7a745ca06dead1b4cb100bd0091673d9 (patch)
tree1bca6608d005253196116c07baba99c09a964b07
parent379657991e7db13a45611f7678c8ed8b54a2e017 (diff)
downloadopenbsd-905a18fb7a745ca06dead1b4cb100bd0091673d9.tar.gz
openbsd-905a18fb7a745ca06dead1b4cb100bd0091673d9.tar.bz2
openbsd-905a18fb7a745ca06dead1b4cb100bd0091673d9.zip
Prepare to provide X509_REQ_pubkey_get0()
ok jsing
-rw-r--r--src/lib/libcrypto/x509/x509.h5
-rw-r--r--src/lib/libcrypto/x509/x509_req.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/libcrypto/x509/x509.h b/src/lib/libcrypto/x509/x509.h
index d3b4367924..0d3b3abebc 100644
--- a/src/lib/libcrypto/x509/x509.h
+++ b/src/lib/libcrypto/x509/x509.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509.h,v 1.78 2021/10/21 15:52:02 tb Exp $ */ 1/* $OpenBSD: x509.h,v 1.79 2021/10/22 16:42:13 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 *
@@ -1011,6 +1011,9 @@ int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);
1011X509_NAME *X509_REQ_get_subject_name(const X509_REQ *x); 1011X509_NAME *X509_REQ_get_subject_name(const X509_REQ *x);
1012int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); 1012int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
1013EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); 1013EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req);
1014#if defined(LIBRESSL_NEW_API)
1015EVP_PKEY * X509_REQ_get0_pubkey(X509_REQ *req);
1016#endif
1014int X509_REQ_extension_nid(int nid); 1017int X509_REQ_extension_nid(int nid);
1015int * X509_REQ_get_extension_nids(void); 1018int * X509_REQ_get_extension_nids(void);
1016void X509_REQ_set_extension_nids(int *nids); 1019void X509_REQ_set_extension_nids(int *nids);
diff --git a/src/lib/libcrypto/x509/x509_req.c b/src/lib/libcrypto/x509/x509_req.c
index b44306b00d..fe20b1c70d 100644
--- a/src/lib/libcrypto/x509/x509_req.c
+++ b/src/lib/libcrypto/x509/x509_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_req.c,v 1.21 2018/05/13 06:48:00 tb Exp $ */ 1/* $OpenBSD: x509_req.c,v 1.22 2021/10/22 16:42:13 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 *
@@ -121,6 +121,14 @@ X509_REQ_get_pubkey(X509_REQ *req)
121 return (X509_PUBKEY_get(req->req_info->pubkey)); 121 return (X509_PUBKEY_get(req->req_info->pubkey));
122} 122}
123 123
124EVP_PKEY *
125X509_REQ_get0_pubkey(X509_REQ *req)
126{
127 if (req == NULL || req->req_info == NULL)
128 return NULL;
129 return X509_PUBKEY_get0(req->req_info->pubkey);
130}
131
124int 132int
125X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k) 133X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k)
126{ 134{