]> granicus.if.org Git - php/commitdiff
- MFH for passphrase bug
authorDerick Rethans <derick@php.net>
Tue, 26 Mar 2002 07:40:00 +0000 (07:40 +0000)
committerDerick Rethans <derick@php.net>
Tue, 26 Mar 2002 07:40:00 +0000 (07:40 +0000)
ext/openssl/openssl.c
ext/openssl/tests/001.phpt

index fb95b14cfdfdcf0ea1ad861de360f1b5b4e51763..e3d92a4ec9f18fc7b13f646dc585b5c5c2d75b14 100644 (file)
@@ -140,6 +140,9 @@ static int le_csr;
 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);
 }
 
@@ -1684,7 +1687,7 @@ static EVP_PKEY * php_openssl_evp_from_zval(zval ** val, int public_key, char *
                X509_free(cert);
 
        if (key && makeresource && resourceval) {
-               *resourceval = zend_list_insert(key, le_key);
+               *resourceval = ZEND_REGISTER_RESOURCE(NULL, key, le_key);
        }
        return key;
 }
@@ -1911,7 +1914,7 @@ PHP_FUNCTION(openssl_pkey_get_private)
                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;
index 06a9c04bf50dea4b4e0ed4dfa8bf5f6404abafa9..ceedefbeb70232d0d6e46f32ebfae331849d7418 100644 (file)
@@ -1,22 +1,15 @@
---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";
 
@@ -27,7 +20,7 @@ echo "Load key from file - array syntax\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);
 
@@ -36,7 +29,7 @@ echo "Load key using direct syntax\n";
 $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);
 
@@ -48,7 +41,7 @@ fclose($fp);
 $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);