static void php_pkey_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
EVP_PKEY *pkey = (EVP_PKEY *)rsrc->ptr;
+
+ assert(pkey != NULL);
+
EVP_PKEY_free(pkey);
}
X509_free(cert);
if (key && makeresource && resourceval) {
- *resourceval = zend_list_insert(key, le_key);
+ *resourceval = ZEND_REGISTER_RESOURCE(NULL, key, le_key);
}
return key;
}
return;
Z_TYPE_P(return_value) = IS_RESOURCE;
- pkey = php_openssl_evp_from_zval(&cert, 0, NULL, 1, &Z_LVAL_P(return_value) TSRMLS_CC);
+ pkey = php_openssl_evp_from_zval(&cert, 0, passphrase, 1, &Z_LVAL_P(return_value) TSRMLS_CC);
if (pkey == NULL) {
RETURN_FALSE;
---TEST--
-OpenSSL private key functions
---SKIPIF--
-<?php include('skipif.inc'); ?>
---POST--
---GET--
---FILE--
<?php
echo "Creating private key\n";
$privkey = openssl_pkey_new();
if ($privkey === false)
- die("failed to create private key");
+ die("failed to create private key");
$passphrase = "banana";
$key_file_name = tempnam("/tmp", "ssl");
if ($key_file_name === false)
- die("failed to get a temporary filename!");
+ die("failed to get a temporary filename!");
echo "Export key to file\n";
$loaded_key = openssl_pkey_get_private(array("file://$key_file_name", $passphrase));
if ($loaded_key === false)
- die("failed to load key using array syntax");
+ die("failed to load key using array syntax");
openssl_pkey_free($loaded_key);
$loaded_key = openssl_pkey_get_private("file://$key_file_name", $passphrase);
if ($loaded_key === false)
- die("failed to load key using direct syntax");
+ die("failed to load key using direct syntax");
openssl_pkey_free($loaded_key);
$loaded_key = openssl_pkey_get_private($key_content, $passphrase);
if ($loaded_key === false)
- die("failed to load key using string syntax");
+ die("failed to load key using string syntax");
openssl_pkey_free($loaded_key);