diff options
author | Daniel Lowrey <rdlowrey@php.net> | 2015-03-05 09:50:04 -0700 |
---|---|---|
committer | Daniel Lowrey <rdlowrey@php.net> | 2015-03-05 10:09:06 -0700 |
commit | 94140afa69e334405688d3cb09a47c07aeaef825 (patch) | |
tree | 6d1a281630e33e6a1aba2655b891f724285dc892 /ext/openssl/openssl.c | |
parent | 0f334a1265d9927e11a7f0d22eba3b1b05ee0686 (diff) | |
download | php-git-94140afa69e334405688d3cb09a47c07aeaef825.tar.gz |
Fix bug #67403 (Add signatureType to openssl_x509_parse)
Diffstat (limited to 'ext/openssl/openssl.c')
-rw-r--r-- | ext/openssl/openssl.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 64bb0623ed..5c8c479362 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -1501,7 +1501,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; @@ -1548,11 +1548,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); |