diff options
Diffstat (limited to 'ext/openssl/openssl.c')
-rw-r--r-- | ext/openssl/openssl.c | 76 |
1 files changed, 57 insertions, 19 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 7d40c85882..fc1cdfa5fd 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -1850,7 +1850,9 @@ PHP_FUNCTION(openssl_spki_new) pkey = php_openssl_evp_from_zval(zpkey, 0, challenge, challenge_len, 1, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "Unable to use supplied private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "Unable to use supplied private key"); + } goto cleanup; } @@ -2855,7 +2857,9 @@ PHP_FUNCTION(openssl_pkcs12_export_to_file) } priv_key = php_openssl_evp_from_zval(zpkey, 0, "", 0, 1, &keyresource); if (priv_key == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + } goto cleanup; } if (!X509_check_private_key(cert, priv_key)) { @@ -2948,7 +2952,9 @@ PHP_FUNCTION(openssl_pkcs12_export) } priv_key = php_openssl_evp_from_zval(zpkey, 0, "", 0, 1, &keyresource); if (priv_key == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + } goto cleanup; } if (!X509_check_private_key(cert, priv_key)) { @@ -3357,7 +3363,9 @@ PHP_FUNCTION(openssl_csr_export_to_file) csr = php_openssl_csr_from_zval(zcsr, 0, &csr_resource); if (csr == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + } return; } @@ -3406,7 +3414,9 @@ PHP_FUNCTION(openssl_csr_export) csr = php_openssl_csr_from_zval(zcsr, 0, &csr_resource); if (csr == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + } return; } @@ -3457,7 +3467,9 @@ PHP_FUNCTION(openssl_csr_sign) csr = php_openssl_csr_from_zval(zcsr, 0, &csr_resource); if (csr == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get CSR from parameter 1"); + } return; } if (zcert) { @@ -3469,7 +3481,9 @@ PHP_FUNCTION(openssl_csr_sign) } priv_key = php_openssl_evp_from_zval(zpkey, 0, "", 0, 1, &keyresource); if (priv_key == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get private key from parameter 3"); + } goto cleanup; } if (cert && !X509_check_private_key(cert, priv_key)) { @@ -4581,7 +4595,9 @@ PHP_FUNCTION(openssl_pkey_export_to_file) key = php_openssl_evp_from_zval(zpkey, 0, passphrase, passphrase_len, 0, &key_resource); if (key == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get key from parameter 1"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get key from parameter 1"); + } RETURN_FALSE; } @@ -4666,7 +4682,9 @@ PHP_FUNCTION(openssl_pkey_export) key = php_openssl_evp_from_zval(zpkey, 0, passphrase, passphrase_len, 0, &key_resource); if (key == NULL) { - php_error_docref(NULL, E_WARNING, "cannot get key from parameter 1"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "cannot get key from parameter 1"); + } RETURN_FALSE; } @@ -5545,7 +5563,9 @@ PHP_FUNCTION(openssl_pkcs7_sign) privkey = php_openssl_evp_from_zval(zprivkey, 0, "", 0, 0, &keyresource); if (privkey == NULL) { - php_error_docref(NULL, E_WARNING, "error getting private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "error getting private key"); + } goto clean_exit; } @@ -5657,7 +5677,9 @@ PHP_FUNCTION(openssl_pkcs7_decrypt) key = php_openssl_evp_from_zval(recipkey ? recipkey : recipcert, 0, "", 0, 0, &keyresval); if (key == NULL) { - php_error_docref(NULL, E_WARNING, "unable to get private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "unable to get private key"); + } goto clean_exit; } @@ -5725,7 +5747,9 @@ PHP_FUNCTION(openssl_private_encrypt) pkey = php_openssl_evp_from_zval(key, 0, "", 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "key param is not a valid private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "key param is not a valid private key"); + } RETURN_FALSE; } @@ -5786,7 +5810,9 @@ PHP_FUNCTION(openssl_private_decrypt) pkey = php_openssl_evp_from_zval(key, 0, "", 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "key parameter is not a valid private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "key parameter is not a valid private key"); + } RETURN_FALSE; } @@ -5853,7 +5879,9 @@ PHP_FUNCTION(openssl_public_encrypt) pkey = php_openssl_evp_from_zval(key, 1, NULL, 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "key parameter is not a valid public key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "key parameter is not a valid public key"); + } RETURN_FALSE; } @@ -5915,7 +5943,9 @@ PHP_FUNCTION(openssl_public_decrypt) pkey = php_openssl_evp_from_zval(key, 1, NULL, 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "key parameter is not a valid public key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "key parameter is not a valid public key"); + } RETURN_FALSE; } @@ -6014,7 +6044,9 @@ PHP_FUNCTION(openssl_sign) } pkey = php_openssl_evp_from_zval(key, 0, "", 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "supplied key param cannot be coerced into a private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "supplied key param cannot be coerced into a private key"); + } RETURN_FALSE; } @@ -6099,7 +6131,9 @@ PHP_FUNCTION(openssl_verify) pkey = php_openssl_evp_from_zval(key, 1, NULL, 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "supplied key param cannot be coerced into a public key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "supplied key param cannot be coerced into a public key"); + } RETURN_FALSE; } @@ -6179,7 +6213,9 @@ PHP_FUNCTION(openssl_seal) ZEND_HASH_FOREACH_VAL(pubkeysht, pubkey) { pkeys[i] = php_openssl_evp_from_zval(pubkey, 1, NULL, 0, 0, &key_resources[i]); if (pkeys[i] == NULL) { - php_error_docref(NULL, E_WARNING, "not a public key (%dth member of pubkeys)", i+1); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "not a public key (%dth member of pubkeys)", i+1); + } RETVAL_FALSE; goto clean_exit; } @@ -6277,7 +6313,9 @@ PHP_FUNCTION(openssl_open) pkey = php_openssl_evp_from_zval(privkey, 0, "", 0, 0, &keyresource); if (pkey == NULL) { - php_error_docref(NULL, E_WARNING, "unable to coerce parameter 4 into a private key"); + if (!EG(exception)) { + php_error_docref(NULL, E_WARNING, "unable to coerce parameter 4 into a private key"); + } RETURN_FALSE; } |