summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/Symbols.list9
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c32
-rw-r--r--src/lib/libcrypto/x509/x509.h29
-rw-r--r--src/lib/libcrypto/x509/x509_set.c14
-rw-r--r--src/lib/libcrypto/x509/x509rset.c14
5 files changed, 80 insertions, 18 deletions
diff --git a/src/lib/libcrypto/Symbols.list b/src/lib/libcrypto/Symbols.list
index 01b21bddc6..dc11ea497f 100644
--- a/src/lib/libcrypto/Symbols.list
+++ b/src/lib/libcrypto/Symbols.list
@@ -2672,14 +2672,19 @@ X509_CRL_get0_extensions
2672X509_CRL_get0_lastUpdate 2672X509_CRL_get0_lastUpdate
2673X509_CRL_get0_nextUpdate 2673X509_CRL_get0_nextUpdate
2674X509_CRL_get0_signature 2674X509_CRL_get0_signature
2675X509_CRL_get_REVOKED
2675X509_CRL_get_ext 2676X509_CRL_get_ext
2676X509_CRL_get_ext_by_NID 2677X509_CRL_get_ext_by_NID
2677X509_CRL_get_ext_by_OBJ 2678X509_CRL_get_ext_by_OBJ
2678X509_CRL_get_ext_by_critical 2679X509_CRL_get_ext_by_critical
2679X509_CRL_get_ext_count 2680X509_CRL_get_ext_count
2680X509_CRL_get_ext_d2i 2681X509_CRL_get_ext_d2i
2682X509_CRL_get_issuer
2683X509_CRL_get_lastUpdate
2681X509_CRL_get_meth_data 2684X509_CRL_get_meth_data
2685X509_CRL_get_nextUpdate
2682X509_CRL_get_signature_nid 2686X509_CRL_get_signature_nid
2687X509_CRL_get_version
2683X509_CRL_it 2688X509_CRL_it
2684X509_CRL_match 2689X509_CRL_match
2685X509_CRL_new 2690X509_CRL_new
@@ -2819,6 +2824,8 @@ X509_REQ_get_extension_nids
2819X509_REQ_get_extensions 2824X509_REQ_get_extensions
2820X509_REQ_get_pubkey 2825X509_REQ_get_pubkey
2821X509_REQ_get_signature_nid 2826X509_REQ_get_signature_nid
2827X509_REQ_get_subject_name
2828X509_REQ_get_version
2822X509_REQ_it 2829X509_REQ_it
2823X509_REQ_new 2830X509_REQ_new
2824X509_REQ_print 2831X509_REQ_print
@@ -3011,7 +3018,9 @@ X509_get_pubkey
3011X509_get_pubkey_parameters 3018X509_get_pubkey_parameters
3012X509_get_serialNumber 3019X509_get_serialNumber
3013X509_get_signature_nid 3020X509_get_signature_nid
3021X509_get_signature_type
3014X509_get_subject_name 3022X509_get_subject_name
3023X509_get_version
3015X509_getm_notAfter 3024X509_getm_notAfter
3016X509_getm_notBefore 3025X509_getm_notBefore
3017X509_gmtime_adj 3026X509_gmtime_adj
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index 890623c47c..0837ec15be 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.32 2018/04/23 13:10:19 tb Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.33 2018/08/24 19:55:58 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 *
@@ -706,18 +706,48 @@ X509_CRL_get0_extensions(const X509_CRL *crl)
706 return crl->crl->extensions; 706 return crl->crl->extensions;
707} 707}
708 708
709long
710X509_CRL_get_version(const X509_CRL *crl)
711{
712 return ASN1_INTEGER_get(crl->crl->version);
713}
714
709const ASN1_TIME * 715const ASN1_TIME *
710X509_CRL_get0_lastUpdate(const X509_CRL *crl) 716X509_CRL_get0_lastUpdate(const X509_CRL *crl)
711{ 717{
712 return crl->crl->lastUpdate; 718 return crl->crl->lastUpdate;
713} 719}
714 720
721ASN1_TIME *
722X509_CRL_get_lastUpdate(X509_CRL *crl)
723{
724 return crl->crl->lastUpdate;
725}
726
715const ASN1_TIME * 727const ASN1_TIME *
716X509_CRL_get0_nextUpdate(const X509_CRL *crl) 728X509_CRL_get0_nextUpdate(const X509_CRL *crl)
717{ 729{
718 return crl->crl->nextUpdate; 730 return crl->crl->nextUpdate;
719} 731}
720 732
733ASN1_TIME *
734X509_CRL_get_nextUpdate(X509_CRL *crl)
735{
736 return crl->crl->nextUpdate;
737}
738
739X509_NAME *
740X509_CRL_get_issuer(const X509_CRL *crl)
741{
742 return crl->crl->issuer;
743}
744
745STACK_OF(X509_REVOKED) *
746X509_CRL_get_REVOKED(X509_CRL *crl)
747{
748 return crl->crl->revoked;
749}
750
721void 751void
722X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, 752X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
723 const X509_ALGOR **palg) 753 const X509_ALGOR **palg)
diff --git a/src/lib/libcrypto/x509/x509.h b/src/lib/libcrypto/x509/x509.h
index ed6225997a..e6b205b7fc 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.69 2018/05/30 15:59:33 tb Exp $ */ 1/* $OpenBSD: x509.h,v 1.70 2018/08/24 19:55:58 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 *
@@ -589,29 +589,21 @@ extern "C" {
589#define X509_EXT_PACK_UNKNOWN 1 589#define X509_EXT_PACK_UNKNOWN 1
590#define X509_EXT_PACK_STRING 2 590#define X509_EXT_PACK_STRING 2
591 591
592#define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version)
593/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */
594#define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore)
595#define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter)
596#define X509_extract_key(x) X509_get_pubkey(x) /*****/ 592#define X509_extract_key(x) X509_get_pubkey(x) /*****/
597#define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version)
598#define X509_REQ_get_subject_name(x) ((x)->req_info->subject)
599#define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) 593#define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a)
600#define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) 594#define X509_name_cmp(a,b) X509_NAME_cmp((a),(b))
601#define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm))
602
603#define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version)
604#define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate)
605#define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate)
606#define X509_CRL_get_issuer(x) ((x)->crl->issuer)
607#define X509_CRL_get_REVOKED(x) ((x)->crl->revoked)
608 595
609int X509_CRL_up_ref(X509_CRL *x); 596int X509_CRL_up_ref(X509_CRL *x);
610int X509_CRL_get_signature_nid(const X509_CRL *crl); 597int X509_CRL_get_signature_nid(const X509_CRL *crl);
611 598
612const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl); 599const STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(const X509_CRL *crl);
600long X509_CRL_get_version(const X509_CRL *crl);
613const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl); 601const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl);
614const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl); 602const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl);
603ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl);
604ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl);
605X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl);
606STACK_OF(X509_REVOKED) *X509_CRL_get_REVOKED(X509_CRL *crl);
615void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig, 607void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
616 const X509_ALGOR **palg); 608 const X509_ALGOR **palg);
617 609
@@ -984,6 +976,7 @@ int ASN1_item_sign_ctx(const ASN1_ITEM *it,
984const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); 976const STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x);
985const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x); 977const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x);
986int X509_set_version(X509 *x, long version); 978int X509_set_version(X509 *x, long version);
979long X509_get_version(const X509 *x);
987int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); 980int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial);
988ASN1_INTEGER * X509_get_serialNumber(X509 *x); 981ASN1_INTEGER * X509_get_serialNumber(X509 *x);
989int X509_set_issuer_name(X509 *x, X509_NAME *name); 982int X509_set_issuer_name(X509 *x, X509_NAME *name);
@@ -1003,9 +996,15 @@ EVP_PKEY * X509_get_pubkey(X509 *x);
1003EVP_PKEY * X509_get0_pubkey(const X509 *x); 996EVP_PKEY * X509_get0_pubkey(const X509 *x);
1004ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x); 997ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x);
1005int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey); 998int X509_certificate_type(const X509 *x, const EVP_PKEY *pubkey);
999int X509_get_signature_type(const X509 *x);
1000
1001#define X509_get_notBefore X509_getm_notBefore
1002#define X509_get_notAfter X509_getm_notAfter
1006 1003
1007int X509_REQ_set_version(X509_REQ *x,long version); 1004int X509_REQ_set_version(X509_REQ *x,long version);
1008int X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name); 1005long X509_REQ_get_version(const X509_REQ *x);
1006int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);
1007X509_NAME *X509_REQ_get_subject_name(const X509_REQ *x);
1009int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); 1008int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
1010EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); 1009EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req);
1011int X509_REQ_extension_nid(int nid); 1010int X509_REQ_extension_nid(int nid);
diff --git a/src/lib/libcrypto/x509/x509_set.c b/src/lib/libcrypto/x509/x509_set.c
index becdaf6ce5..1a4b583ab7 100644
--- a/src/lib/libcrypto/x509/x509_set.c
+++ b/src/lib/libcrypto/x509/x509_set.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_set.c,v 1.16 2018/02/22 17:09:28 jsing Exp $ */ 1/* $OpenBSD: x509_set.c,v 1.17 2018/08/24 19:55:58 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 *
@@ -87,6 +87,12 @@ X509_set_version(X509 *x, long version)
87 return (ASN1_INTEGER_set(x->cert_info->version, version)); 87 return (ASN1_INTEGER_set(x->cert_info->version, version));
88} 88}
89 89
90long
91X509_get_version(const X509 *x)
92{
93 return ASN1_INTEGER_get(x->cert_info->version);
94}
95
90int 96int
91X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial) 97X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial)
92{ 98{
@@ -204,3 +210,9 @@ X509_set_pubkey(X509 *x, EVP_PKEY *pkey)
204 return (0); 210 return (0);
205 return (X509_PUBKEY_set(&(x->cert_info->key), pkey)); 211 return (X509_PUBKEY_set(&(x->cert_info->key), pkey));
206} 212}
213
214int
215X509_get_signature_type(const X509 *x)
216{
217 return EVP_PKEY_type(OBJ_obj2nid(x->sig_alg->algorithm));
218}
diff --git a/src/lib/libcrypto/x509/x509rset.c b/src/lib/libcrypto/x509/x509rset.c
index cfac977636..de02a40038 100644
--- a/src/lib/libcrypto/x509/x509rset.c
+++ b/src/lib/libcrypto/x509/x509rset.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509rset.c,v 1.6 2014/07/11 08:44:49 jsing Exp $ */ 1/* $OpenBSD: x509rset.c,v 1.7 2018/08/24 19:55:58 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 *
@@ -71,6 +71,12 @@ X509_REQ_set_version(X509_REQ *x, long version)
71 return (ASN1_INTEGER_set(x->req_info->version, version)); 71 return (ASN1_INTEGER_set(x->req_info->version, version));
72} 72}
73 73
74long
75X509_REQ_get_version(const X509_REQ *x)
76{
77 return ASN1_INTEGER_get(x->req_info->version);
78}
79
74int 80int
75X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name) 81X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name)
76{ 82{
@@ -79,6 +85,12 @@ X509_REQ_set_subject_name(X509_REQ *x, X509_NAME *name)
79 return (X509_NAME_set(&x->req_info->subject, name)); 85 return (X509_NAME_set(&x->req_info->subject, name));
80} 86}
81 87
88X509_NAME *
89X509_REQ_get_subject_name(const X509_REQ *x)
90{
91 return x->req_info->subject;
92}
93
82int 94int
83X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey) 95X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
84{ 96{