summaryrefslogtreecommitdiff
path: root/ext/openssl/openssl.c
diff options
context:
space:
mode:
authorDaniel Lowrey <rdlowrey@php.net>2015-03-05 10:21:32 -0700
committerDaniel Lowrey <rdlowrey@php.net>2015-03-05 10:21:32 -0700
commit5939de35a8fc6b439c8a60db02a5181a386edaa0 (patch)
tree00372a834427609051028ee7300e6d55abeb8d1b /ext/openssl/openssl.c
parente8e5913e5e3500d2efee4a60fdfd77ab46fe2021 (diff)
parent94140afa69e334405688d3cb09a47c07aeaef825 (diff)
downloadphp-git-5939de35a8fc6b439c8a60db02a5181a386edaa0.tar.gz
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: Fix bug #67403 (Add signatureType to openssl_x509_parse) 5.5.24 now Conflicts: configure.in main/php_version.h
Diffstat (limited to 'ext/openssl/openssl.c')
-rw-r--r--ext/openssl/openssl.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 5538ef76da..290b480eaa 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -1927,7 +1927,7 @@ PHP_FUNCTION(openssl_x509_parse)
zval ** zcert;
X509 * cert = NULL;
long certresource = -1;
- int i;
+ int i, sig_nid;
zend_bool useshortnames = 1;
char * tmpstr;
zval * subitem;
@@ -1974,11 +1974,12 @@ PHP_FUNCTION(openssl_x509_parse)
if (tmpstr) {
add_assoc_string(return_value, "alias", tmpstr, 1);
}
-/*
- add_assoc_long(return_value, "signaturetypeLONG", X509_get_signature_type(cert));
- add_assoc_string(return_value, "signaturetype", OBJ_nid2sn(X509_get_signature_type(cert)), 1);
- add_assoc_string(return_value, "signaturetypeLN", OBJ_nid2ln(X509_get_signature_type(cert)), 1);
-*/
+
+ sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm);
+ add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1);
+ add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1);
+ add_assoc_long(return_value, "signatureTypeNID", sig_nid TSRMLS_CC);
+
MAKE_STD_ZVAL(subitem);
array_init(subitem);