From 56b4205f38518729a025eeba60b256c77fbfec10 Mon Sep 17 00:00:00 2001 From: Stefan Roehrich Date: Sun, 13 Jul 2003 10:13:24 +0000 Subject: [PATCH] MFH: fixed certificate version, serial number not always 0. --- ext/openssl/openssl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 0b828996b1..0487344eb3 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -1424,12 +1424,13 @@ PHP_FUNCTION(openssl_csr_export) } /* }}} */ -/* {{{ proto resource openssl_csr_sign(mixed csr, mixed x509, mixed priv_key, long days) +/* {{{ proto resource openssl_csr_sign(mixed csr, mixed x509, mixed priv_key, long days [, array config_args [, long serial]]) Signs a cert with another CERT */ PHP_FUNCTION(openssl_csr_sign) { zval * zcert = NULL, *zcsr, *zpkey, *args = NULL; long num_days; + long serial = 0L; X509 * cert = NULL, *new_cert = NULL; X509_REQ * csr; EVP_PKEY * key = NULL, *priv_key; @@ -1437,7 +1438,7 @@ PHP_FUNCTION(openssl_csr_sign) int i; struct php_x509_request req; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz!zl|a!", &zcsr, &zcert, &zpkey, &num_days, &args) == FAILURE) + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz!zl|a!l", &zcsr, &zcert, &zpkey, &num_days, &args, &serial) == FAILURE) return; RETVAL_FALSE; @@ -1493,11 +1494,10 @@ PHP_FUNCTION(openssl_csr_sign) goto cleanup; } /* Version 3 cert */ - if (!X509_set_version(new_cert, 3)) + if (!X509_set_version(new_cert, 2)) goto cleanup; - /* TODO: Allow specifying */ - ASN1_INTEGER_set(X509_get_serialNumber(new_cert), 0L); + ASN1_INTEGER_set(X509_get_serialNumber(new_cert), serial); X509_set_subject_name(new_cert, X509_REQ_get_subject_name(csr)); -- 2.40.0