18 changed files with 992 additions and 0 deletions
-
60ext/openssl/tests/007.phpt
-
74ext/openssl/tests/008.phpt
-
29ext/openssl/tests/009.phpt
-
21ext/openssl/tests/011.phpt
-
28ext/openssl/tests/013.phpt
-
38ext/openssl/tests/014.phpt
-
39ext/openssl/tests/015.phpt
-
48ext/openssl/tests/016.phpt
-
40ext/openssl/tests/017.phpt
-
22ext/openssl/tests/018.phpt
-
28ext/openssl/tests/019.phpt
-
77ext/openssl/tests/021.phpt
-
45ext/openssl/tests/022.phpt
-
64ext/openssl/tests/024.phpt
-
46ext/openssl/tests/openssl_decrypt_error.phpt
-
16ext/openssl/tests/openssl_digest_basic.phpt
-
43ext/openssl/tests/openssl_encrypt_error.phpt
-
274ext/openssl/tests/openssl_x509_parse_basic.phpt
@ -0,0 +1,60 @@ |
|||||
|
--TEST-- |
||||
|
openssl_x509_read() and openssl_x509_free() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$fp = fopen(dirname(__FILE__) . "/cert.crt","r"); |
||||
|
$a = fread($fp,8192); |
||||
|
fclose($fp); |
||||
|
|
||||
|
$b = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
$c = "invalid cert"; |
||||
|
$d = openssl_x509_read($a); |
||||
|
$e = array(); |
||||
|
$f = array($b); |
||||
|
|
||||
|
var_dump($res = openssl_x509_read($a)); // read cert as a string |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
var_dump($res = openssl_x509_read($b)); // read cert as a filename string |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
var_dump($res = openssl_x509_read($c)); // read an invalid cert, fails |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
var_dump($res = openssl_x509_read($d)); // read cert from a resource |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
var_dump($res = openssl_x509_read($e)); // read an array |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
var_dump($res = openssl_x509_read($f)); // read an array with the filename |
||||
|
openssl_x509_free($res); |
||||
|
var_dump($res); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
resource(%d) of type (Unknown) |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
resource(%d) of type (Unknown) |
||||
|
|
||||
|
Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_x509_free() expects parameter 1 to be resource, boolean given in %s on line %d |
||||
|
bool(false) |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
resource(%d) of type (Unknown) |
||||
|
|
||||
|
Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_x509_free() expects parameter 1 to be resource, boolean given in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate! in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_x509_free() expects parameter 1 to be resource, boolean given in %s on line %d |
||||
|
bool(false) |
||||
@ -0,0 +1,74 @@ |
|||||
|
--TEST-- |
||||
|
openssl_x509_export() and openssl_x509_export_to_file() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$fp = fopen(dirname(__FILE__) . "/cert.crt","r"); |
||||
|
$a = fread($fp,8192); |
||||
|
fclose($fp); |
||||
|
|
||||
|
$b = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
$c = "invalid cert"; |
||||
|
$d = openssl_x509_read($a); |
||||
|
$e = array(); |
||||
|
|
||||
|
var_dump(openssl_x509_export($a, $output)); // read cert as a binary string |
||||
|
var_dump(openssl_x509_export($b, $output2)); // read cert from a filename string |
||||
|
var_dump(openssl_x509_export($c, $output3)); // read an invalid cert, fails |
||||
|
var_dump(openssl_x509_export($d, $output4)); // read cert from a resource |
||||
|
var_dump(openssl_x509_export($e, $output5)); // read an array, fails |
||||
|
|
||||
|
$outfilename = tempnam("/tmp", "ssl"); |
||||
|
if ($outfilename === false) |
||||
|
die("failed to get a temporary filename!"); |
||||
|
|
||||
|
echo "---\n"; |
||||
|
|
||||
|
var_dump(openssl_x509_export_to_file($a, $outfilename)); // read cert as a binary string |
||||
|
var_dump(openssl_x509_export_to_file($b, $outfilename)); // read cert from a filename string |
||||
|
var_dump(openssl_x509_export_to_file($c, $outfilename)); // read an invalid cert, fails |
||||
|
var_dump(openssl_x509_export_to_file($d, $outfilename)); // read cert from a resource |
||||
|
var_dump(openssl_x509_export_to_file($e, $outfilename)); // read an array, fails |
||||
|
echo "---\n"; |
||||
|
|
||||
|
var_dump($exists = file_exists($outfilename)); |
||||
|
if ($exists) { |
||||
|
@unlink($outfilename); |
||||
|
} |
||||
|
echo "---\n"; |
||||
|
|
||||
|
var_dump(strcmp($output, $a)); |
||||
|
var_dump(strcmp($output, $output2)); |
||||
|
var_dump(strcmp($output, $output3)); |
||||
|
var_dump(strcmp($output, $output4)); // different |
||||
|
var_dump(strcmp($output, $output5)); // different |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_x509_export(): cannot get cert from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_x509_export(): cannot get cert from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
--- |
||||
|
bool(true) |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_x509_export_to_file(): cannot get cert from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_x509_export_to_file(): cannot get cert from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
--- |
||||
|
bool(true) |
||||
|
--- |
||||
|
int(0) |
||||
|
int(0) |
||||
|
int(%d) |
||||
|
int(0) |
||||
|
int(%d) |
||||
@ -0,0 +1,29 @@ |
|||||
|
--TEST-- |
||||
|
openssl_x509_check_private_key() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$fp = fopen(dirname(__FILE__) . "/cert.crt","r"); |
||||
|
$a = fread($fp,8192); |
||||
|
fclose($fp); |
||||
|
|
||||
|
$fp = fopen(dirname(__FILE__) . "/private.key","r"); |
||||
|
$b = fread($fp,8192); |
||||
|
fclose($fp); |
||||
|
|
||||
|
$cert = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
$key = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
|
||||
|
var_dump(openssl_x509_check_private_key($cert, $key)); |
||||
|
var_dump(openssl_x509_check_private_key("", $key)); |
||||
|
var_dump(openssl_x509_check_private_key($cert, "")); |
||||
|
var_dump(openssl_x509_check_private_key("", "")); |
||||
|
var_dump(openssl_x509_check_private_key($a, $b)); |
||||
|
?> |
||||
|
--EXPECT-- |
||||
|
bool(true) |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
bool(true) |
||||
@ -0,0 +1,21 @@ |
|||||
|
--TEST-- |
||||
|
openssl_encrypt() and openssl_decrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "openssl_encrypt() and openssl_decrypt() tests"; |
||||
|
$method = "AES-128-CBC"; |
||||
|
$password = "openssl"; |
||||
|
|
||||
|
$encrypted = openssl_encrypt($data, $method, $password); |
||||
|
$output = openssl_decrypt($encrypted, $method, $password); |
||||
|
var_dump($output); |
||||
|
$encrypted = openssl_encrypt($data, $method, $password, true); |
||||
|
$output = openssl_decrypt($encrypted, $method, $password, true); |
||||
|
var_dump($output); |
||||
|
?> |
||||
|
--EXPECT-- |
||||
|
string(45) "openssl_encrypt() and openssl_decrypt() tests" |
||||
|
string(45) "openssl_encrypt() and openssl_decrypt() tests" |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
--TEST-- |
||||
|
openssl_open() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "openssl_open() test"; |
||||
|
$pub_key = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$priv_key = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
openssl_seal($data, $sealed, $ekeys, array($pub_key, $pub_key, $pub_key)); |
||||
|
openssl_open($sealed, $output, $ekeys[0], $priv_key); |
||||
|
var_dump($output); |
||||
|
openssl_open($sealed, $output2, $ekeys[1], $wrong); |
||||
|
var_dump($output2); |
||||
|
openssl_open($sealed, $output3, $ekeys[2], $priv_key); |
||||
|
var_dump($output3); |
||||
|
openssl_open($sealed, $output4, $wrong, $priv_key); |
||||
|
var_dump($output4); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
string(19) "openssl_open() test" |
||||
|
|
||||
|
Warning: openssl_open(): unable to coerce parameter 4 into a private key in %s on line %d |
||||
|
NULL |
||||
|
string(19) "openssl_open() test" |
||||
|
NULL |
||||
@ -0,0 +1,38 @@ |
|||||
|
--TEST-- |
||||
|
openssl_private_encrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_private_encrypt()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$pubkey = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$wrong = "wrong"; |
||||
|
class test { |
||||
|
function __toString() { |
||||
|
return "test"; |
||||
|
} |
||||
|
} |
||||
|
$obj = new test; |
||||
|
|
||||
|
var_dump(openssl_private_encrypt($data, $encrypted, $privkey)); |
||||
|
var_dump(openssl_private_encrypt($data, $encrypted, $pubkey)); |
||||
|
var_dump(openssl_private_encrypt($data, $encrypted, $wrong)); |
||||
|
var_dump(openssl_private_encrypt($data, $encrypted, $obj)); |
||||
|
var_dump(openssl_private_encrypt($obj, $encrypted, $privkey)); |
||||
|
openssl_public_decrypt($encrypted, $output, $pubkey); |
||||
|
var_dump($output); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_private_encrypt(): key param is not a valid private key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_private_encrypt(): key param is not a valid private key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_private_encrypt(): key param is not a valid private key in %s on line %d |
||||
|
bool(false) |
||||
|
bool(true) |
||||
|
string(4) "test" |
||||
@ -0,0 +1,39 @@ |
|||||
|
--TEST-- |
||||
|
openssl_public_encrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_public_encrypt()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$pubkey = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$wrong = "wrong"; |
||||
|
class test { |
||||
|
function __toString() { |
||||
|
return "test"; |
||||
|
} |
||||
|
} |
||||
|
$obj = new test; |
||||
|
|
||||
|
var_dump(openssl_public_encrypt($data, $encrypted, $pubkey)); |
||||
|
var_dump(openssl_public_encrypt($data, $encrypted, $privkey)); |
||||
|
var_dump(openssl_public_encrypt($data, $encrypted, $wrong)); |
||||
|
var_dump(openssl_public_encrypt($data, $encrypted, $obj)); |
||||
|
var_dump(openssl_public_encrypt($obj, $encrypted, $pubkey)); |
||||
|
openssl_private_decrypt($encrypted, $output, $privkey); |
||||
|
var_dump($output); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_public_encrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_public_encrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_public_encrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
bool(true) |
||||
|
string(4) "test" |
||||
|
|
||||
@ -0,0 +1,48 @@ |
|||||
|
--TEST-- |
||||
|
openssl_public_decrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_public_decrypt()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$pubkey = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
openssl_private_encrypt($data, $encrypted, $privkey); |
||||
|
var_dump(openssl_public_decrypt($encrypted, $output, $pubkey)); |
||||
|
var_dump($output); |
||||
|
var_dump(openssl_public_decrypt($encrypted, $output2, $wrong)); |
||||
|
var_dump($output2); |
||||
|
var_dump(openssl_public_decrypt($wrong, $output3, $pubkey)); |
||||
|
var_dump($output3); |
||||
|
var_dump(openssl_public_decrypt($encrypted, $output4, array())); |
||||
|
var_dump($output4); |
||||
|
var_dump(openssl_public_decrypt($encrypted, $output5, array($pubkey))); |
||||
|
var_dump($output5); |
||||
|
var_dump(openssl_public_decrypt($encrypted, $output6, array($pubkey, ""))); |
||||
|
var_dump($output6); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
string(32) "Testing openssl_public_decrypt()" |
||||
|
|
||||
|
Warning: openssl_public_decrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
NULL |
||||
|
bool(false) |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_public_decrypt(): key array must be of the form array(0 => key, 1 => phrase) in %s on line %d |
||||
|
|
||||
|
Warning: openssl_public_decrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_public_decrypt(): key array must be of the form array(0 => key, 1 => phrase) in %s on line %d |
||||
|
|
||||
|
Warning: openssl_public_decrypt(): key parameter is not a valid public key in %s on line %d |
||||
|
bool(false) |
||||
|
NULL |
||||
|
bool(true) |
||||
|
string(32) "Testing openssl_public_decrypt()" |
||||
@ -0,0 +1,40 @@ |
|||||
|
--TEST-- |
||||
|
openssl_private_decrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_public_decrypt()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$pubkey = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
openssl_public_encrypt($data, $encrypted, $pubkey); |
||||
|
var_dump(openssl_private_decrypt($encrypted, $output, $privkey)); |
||||
|
var_dump($output); |
||||
|
var_dump(openssl_private_decrypt($encrypted, $output2, $wrong)); |
||||
|
var_dump($output2); |
||||
|
var_dump(openssl_private_decrypt($wrong, $output3, $privkey)); |
||||
|
var_dump($output3); |
||||
|
var_dump(openssl_private_decrypt($encrypted, $output4, array($privkey))); |
||||
|
var_dump($output4); |
||||
|
var_dump(openssl_private_decrypt($encrypted, $output5, array($privkey, ""))); |
||||
|
var_dump($output5); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
string(32) "Testing openssl_public_decrypt()" |
||||
|
|
||||
|
Warning: openssl_private_decrypt(): key parameter is not a valid private key in %s on line %d |
||||
|
bool(false) |
||||
|
NULL |
||||
|
bool(false) |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_private_decrypt(): key array must be of the form array(0 => key, 1 => phrase) in %s on line %d |
||||
|
|
||||
|
Warning: openssl_private_decrypt(): key parameter is not a valid private key in %s on line %d |
||||
|
bool(false) |
||||
|
NULL |
||||
|
bool(true) |
||||
|
string(32) "Testing openssl_public_decrypt()" |
||||
@ -0,0 +1,22 @@ |
|||||
|
--TEST-- |
||||
|
openssl_sign() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_sign()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
var_dump(openssl_sign($data, $sign, $privkey)); // no output |
||||
|
var_dump(openssl_sign($data, $sign, $wrong)); |
||||
|
var_dump(openssl_sign(array(), $sign, $privkey)); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_sign(): supplied key param cannot be coerced into a private key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_sign() expects parameter 1 to be string, array given in %s on line %d |
||||
|
NULL |
||||
@ -0,0 +1,28 @@ |
|||||
|
--TEST-- |
||||
|
openssl_verify() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "Testing openssl_verify()"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$pubkey = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
openssl_sign($data, $sign, $privkey); |
||||
|
var_dump(openssl_verify($data, $sign, $pubkey)); |
||||
|
var_dump(openssl_verify($data, $sign, $privkey)); |
||||
|
var_dump(openssl_verify($data, $sign, $wrong)); |
||||
|
var_dump(openssl_verify($data, $wrong, $pubkey)); |
||||
|
var_dump(openssl_verify($wrong, $sign, $pubkey)); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
int(1) |
||||
|
|
||||
|
Warning: openssl_verify(): supplied key param cannot be coerced into a public key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_verify(): supplied key param cannot be coerced into a public key in %s on line %d |
||||
|
bool(false) |
||||
|
int(0) |
||||
|
int(0) |
||||
@ -0,0 +1,77 @@ |
|||||
|
--TEST-- |
||||
|
openssl_csr_sign() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$cert = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
$priv = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$wrong = "wrong"; |
||||
|
$pub = "file://" . dirname(__FILE__) . "/public.key"; |
||||
|
|
||||
|
$dn = array( |
||||
|
"countryName" => "BR", |
||||
|
"stateOrProvinceName" => "Rio Grande do Sul", |
||||
|
"localityName" => "Porto Alegre", |
||||
|
"commonName" => "Henrique do N. Angelo", |
||||
|
"emailAddress" => "hnangelo@php.net" |
||||
|
); |
||||
|
|
||||
|
$args = array( |
||||
|
"digest_alg" => "sha1", |
||||
|
"private_key_bits" => 2048, |
||||
|
"private_key_type" => OPENSSL_KEYTYPE_DSA, |
||||
|
"encrypt_key" => true |
||||
|
); |
||||
|
|
||||
|
$privkey = openssl_pkey_new(); |
||||
|
$csr = openssl_csr_new($dn, $privkey, $args); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, 365, $args)); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, $cert, $priv, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, $wrong, $privkey, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, null, $wrong, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, $wrong)); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, 365, $wrong)); |
||||
|
var_dump(openssl_csr_sign($wrong, null, $privkey, 365)); |
||||
|
var_dump(openssl_csr_sign(array(), null, $privkey, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, array(), $privkey, 365)); |
||||
|
var_dump(openssl_csr_sign($csr, null, array(), 365)); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, array())); |
||||
|
var_dump(openssl_csr_sign($csr, null, $privkey, 365, array())); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get cert from parameter 2 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get private key from parameter 3 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign() expects parameter 4 to be long, string given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_csr_sign() expects parameter 5 to be array, string given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get cert from parameter 2 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign(): key array must be of the form array(0 => key, 1 => phrase) in %s on line %d |
||||
|
|
||||
|
Warning: openssl_csr_sign(): cannot get private key from parameter 3 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_sign() expects parameter 4 to be long, array given in %s on line %d |
||||
|
NULL |
||||
|
resource(%d) of type (OpenSSL X.509) |
||||
|
|
||||
@ -0,0 +1,45 @@ |
|||||
|
--TEST-- |
||||
|
openssl_csr_export() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
$dn = array( |
||||
|
"countryName" => "BR", |
||||
|
"stateOrProvinceName" => "Rio Grande do Sul", |
||||
|
"localityName" => "Porto Alegre", |
||||
|
"commonName" => "Henrique do N. Angelo", |
||||
|
"emailAddress" => "hnangelo@php.net" |
||||
|
); |
||||
|
|
||||
|
$args = array( |
||||
|
"digest_alg" => "sha1", |
||||
|
"private_key_bits" => 2048, |
||||
|
"private_key_type" => OPENSSL_KEYTYPE_DSA, |
||||
|
"encrypt_key" => true |
||||
|
); |
||||
|
|
||||
|
$privkey = openssl_pkey_new(); |
||||
|
$csr = openssl_csr_new($dn, $privkey, $args); |
||||
|
var_dump(openssl_csr_export($csr, $output)); |
||||
|
var_dump(openssl_csr_export($wrong, $output)); |
||||
|
var_dump(openssl_csr_export($privkey, $output)); |
||||
|
var_dump(openssl_csr_export(array(), $output)); |
||||
|
var_dump(openssl_csr_export($csr, $output, false)); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_csr_export() expects parameter 1 to be resource, string given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_csr_export(): supplied resource is not a valid OpenSSL X.509 CSR resource in %s on line %d |
||||
|
|
||||
|
Warning: openssl_csr_export(): cannot get CSR from parameter 1 in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_csr_export() expects parameter 1 to be resource, array given in %s on line %d |
||||
|
NULL |
||||
|
bool(true) |
||||
@ -0,0 +1,64 @@ |
|||||
|
--TEST-- |
||||
|
openssl_pkcs7_decrypt() tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$infile = dirname(__FILE__) . "/cert.crt"; |
||||
|
$privkey = "file://" . dirname(__FILE__) . "/private.key"; |
||||
|
$encrypted = tempnam("/tmp", "ssl"); |
||||
|
if ($encrypted === false) |
||||
|
die("failed to get a temporary filename!"); |
||||
|
$outfile = tempnam("/tmp", "ssl"); |
||||
|
if ($outfile === false) { |
||||
|
unlink($outfile); |
||||
|
die("failed to get a temporary filename!"); |
||||
|
} |
||||
|
|
||||
|
$single_cert = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
$headers = array("test@test", "testing openssl_pkcs7_encrypt()"); |
||||
|
$wrong = "wrong"; |
||||
|
$empty = ""; |
||||
|
|
||||
|
openssl_pkcs7_encrypt($infile, $encrypted, $single_cert, $headers); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, $single_cert, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, $single_cert, $wrong)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, $wrong, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, null, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($wrong, $outfile, $single_cert, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($empty, $outfile, $single_cert, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $empty, $single_cert, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, $empty, $privkey)); |
||||
|
var_dump(openssl_pkcs7_decrypt($encrypted, $outfile, $single_cert, $empty)); |
||||
|
|
||||
|
if (file_exists($encrypted)) { |
||||
|
echo "true\n"; |
||||
|
unlink($encrypted); |
||||
|
} |
||||
|
if (file_exists($outfile)) { |
||||
|
echo "true\n"; |
||||
|
unlink($outfile); |
||||
|
} |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(true) |
||||
|
|
||||
|
Warning: openssl_pkcs7_decrypt(): unable to get private key in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_pkcs7_decrypt(): unable to coerce parameter 3 to x509 cert in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_pkcs7_decrypt(): unable to coerce parameter 3 to x509 cert in %s on line %d |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_pkcs7_decrypt(): unable to coerce parameter 3 to x509 cert in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_pkcs7_decrypt(): unable to get private key in %s on line %d |
||||
|
bool(false) |
||||
|
true |
||||
|
true |
||||
@ -0,0 +1,46 @@ |
|||||
|
--TEST-- |
||||
|
openssl_decrypt() error tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "openssl_decrypt() tests"; |
||||
|
$method = "AES-128-CBC"; |
||||
|
$password = "openssl"; |
||||
|
$wrong = "wrong"; |
||||
|
|
||||
|
$encrypted = openssl_encrypt($data, $method, $password); |
||||
|
var_dump(openssl_decrypt($encrypted, $method, $wrong)); |
||||
|
var_dump(openssl_decrypt($encrypted, $wrong, $password)); |
||||
|
var_dump(openssl_decrypt($wrong, $method, $password)); |
||||
|
var_dump(openssl_decrypt($wrong, $wrong, $password)); |
||||
|
var_dump(openssl_decrypt($encrypted, $wrong, $wrong)); |
||||
|
var_dump(openssl_decrypt($wrong, $wrong, $wrong)); |
||||
|
var_dump(openssl_decrypt(array(), $method, $password)); |
||||
|
var_dump(openssl_decrypt($encrypted, array(), $password)); |
||||
|
var_dump(openssl_decrypt($encrypted, $method, array())); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_decrypt(): Unknown cipher algorithm in %s on line %d |
||||
|
bool(false) |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_decrypt(): Unknown cipher algorithm in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_decrypt(): Unknown cipher algorithm in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_decrypt(): Unknown cipher algorithm in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_decrypt() expects parameter 1 to be string, array given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_decrypt() expects parameter 2 to be string, array given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_decrypt() expects parameter 3 to be string, array given in %s on line %d |
||||
|
NULL |
||||
@ -0,0 +1,16 @@ |
|||||
|
--TEST-- |
||||
|
openssl_digest() basic test |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "openssl_digest() basic test"; |
||||
|
$method = "md5"; |
||||
|
$method2 = "sha1"; |
||||
|
|
||||
|
var_dump(openssl_digest($data, $method)); |
||||
|
var_dump(openssl_digest($data, $method2)); |
||||
|
?> |
||||
|
--EXPECT-- |
||||
|
string(32) "f0045b6c41d9ec835cb8948c7fec4955" |
||||
|
string(40) "aa6e750fef05c2414c18860ad31f2c35e79bf3dc" |
||||
@ -0,0 +1,43 @@ |
|||||
|
--TEST-- |
||||
|
openssl_encrypt() error tests |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$data = "openssl_encrypt() tests"; |
||||
|
$method = "AES-128-CBC"; |
||||
|
$password = "openssl"; |
||||
|
$wrong = "wrong"; |
||||
|
$object = new stdclass; |
||||
|
$arr = array(1); |
||||
|
|
||||
|
var_dump(openssl_encrypt($data, $wrong, $password)); |
||||
|
var_dump(openssl_encrypt($object, $method, $password)); |
||||
|
var_dump(openssl_encrypt($data, $object, $password)); |
||||
|
var_dump(openssl_encrypt($data, $method, $object)); |
||||
|
var_dump(openssl_encrypt($arr, $method, $object)); |
||||
|
var_dump(openssl_encrypt($data, $arr, $object)); |
||||
|
var_dump(openssl_encrypt($data, $method, $arr)); |
||||
|
?> |
||||
|
--EXPECTF-- |
||||
|
Warning: openssl_encrypt(): Unknown cipher algorithm in %s on line %d |
||||
|
bool(false) |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 1 to be string, object given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 2 to be string, object given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 3 to be string, object given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 1 to be string, array given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 2 to be string, array given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
|
Warning: openssl_encrypt() expects parameter 3 to be string, array given in %s on line %d |
||||
|
NULL |
||||
|
|
||||
@ -0,0 +1,274 @@ |
|||||
|
--TEST-- |
||||
|
openssl_x509_parse() basic test |
||||
|
--SKIPIF-- |
||||
|
<?php if (!extension_loaded("openssl")) print "skip"; ?> |
||||
|
--FILE-- |
||||
|
<?php |
||||
|
$cert = "file://" . dirname(__FILE__) . "/cert.crt"; |
||||
|
|
||||
|
var_dump(openssl_x509_parse($cert)); |
||||
|
var_dump(openssl_x509_parse($cert, false)); |
||||
|
?> |
||||
|
--EXPECT-- |
||||
|
array(12) { |
||||
|
["name"]=> |
||||
|
string(96) "/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net" |
||||
|
["subject"]=> |
||||
|
array(5) { |
||||
|
["C"]=> |
||||
|
string(2) "BR" |
||||
|
["ST"]=> |
||||
|
string(17) "Rio Grande do Sul" |
||||
|
["L"]=> |
||||
|
string(12) "Porto Alegre" |
||||
|
["CN"]=> |
||||
|
string(21) "Henrique do N. Angelo" |
||||
|
["emailAddress"]=> |
||||
|
string(16) "hnangelo@php.net" |
||||
|
} |
||||
|
["hash"]=> |
||||
|
string(8) "088c65c2" |
||||
|
["issuer"]=> |
||||
|
array(5) { |
||||
|
["C"]=> |
||||
|
string(2) "BR" |
||||
|
["ST"]=> |
||||
|
string(17) "Rio Grande do Sul" |
||||
|
["L"]=> |
||||
|
string(12) "Porto Alegre" |
||||
|
["CN"]=> |
||||
|
string(21) "Henrique do N. Angelo" |
||||
|
["emailAddress"]=> |
||||
|
string(16) "hnangelo@php.net" |
||||
|
} |
||||
|
["version"]=> |
||||
|
int(2) |
||||
|
["serialNumber"]=> |
||||
|
string(20) "12593567369101004962" |
||||
|
["validFrom"]=> |
||||
|
string(13) "080630102843Z" |
||||
|
["validTo"]=> |
||||
|
string(13) "080730102843Z" |
||||
|
["validFrom_time_t"]=> |
||||
|
int(1214821723) |
||||
|
["validTo_time_t"]=> |
||||
|
int(1217413723) |
||||
|
["purposes"]=> |
||||
|
array(8) { |
||||
|
[1]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(9) "sslclient" |
||||
|
} |
||||
|
[2]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(9) "sslserver" |
||||
|
} |
||||
|
[3]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(11) "nssslserver" |
||||
|
} |
||||
|
[4]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(9) "smimesign" |
||||
|
} |
||||
|
[5]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(12) "smimeencrypt" |
||||
|
} |
||||
|
[6]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(7) "crlsign" |
||||
|
} |
||||
|
[7]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(3) "any" |
||||
|
} |
||||
|
[8]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(10) "ocsphelper" |
||||
|
} |
||||
|
} |
||||
|
["extensions"]=> |
||||
|
array(3) { |
||||
|
["subjectKeyIdentifier"]=> |
||||
|
string(59) "DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D" |
||||
|
["authorityKeyIdentifier"]=> |
||||
|
string(202) "keyid:DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D |
||||
|
DirName:/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net |
||||
|
serial:AE:C5:56:CC:72:37:50:A2 |
||||
|
" |
||||
|
["basicConstraints"]=> |
||||
|
string(7) "CA:TRUE" |
||||
|
} |
||||
|
} |
||||
|
array(12) { |
||||
|
["name"]=> |
||||
|
string(96) "/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net" |
||||
|
["subject"]=> |
||||
|
array(5) { |
||||
|
["countryName"]=> |
||||
|
string(2) "BR" |
||||
|
["stateOrProvinceName"]=> |
||||
|
string(17) "Rio Grande do Sul" |
||||
|
["localityName"]=> |
||||
|
string(12) "Porto Alegre" |
||||
|
["commonName"]=> |
||||
|
string(21) "Henrique do N. Angelo" |
||||
|
["emailAddress"]=> |
||||
|
string(16) "hnangelo@php.net" |
||||
|
} |
||||
|
["hash"]=> |
||||
|
string(8) "088c65c2" |
||||
|
["issuer"]=> |
||||
|
array(5) { |
||||
|
["countryName"]=> |
||||
|
string(2) "BR" |
||||
|
["stateOrProvinceName"]=> |
||||
|
string(17) "Rio Grande do Sul" |
||||
|
["localityName"]=> |
||||
|
string(12) "Porto Alegre" |
||||
|
["commonName"]=> |
||||
|
string(21) "Henrique do N. Angelo" |
||||
|
["emailAddress"]=> |
||||
|
string(16) "hnangelo@php.net" |
||||
|
} |
||||
|
["version"]=> |
||||
|
int(2) |
||||
|
["serialNumber"]=> |
||||
|
string(20) "12593567369101004962" |
||||
|
["validFrom"]=> |
||||
|
string(13) "080630102843Z" |
||||
|
["validTo"]=> |
||||
|
string(13) "080730102843Z" |
||||
|
["validFrom_time_t"]=> |
||||
|
int(1214821723) |
||||
|
["validTo_time_t"]=> |
||||
|
int(1217413723) |
||||
|
["purposes"]=> |
||||
|
array(8) { |
||||
|
[1]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(10) "SSL client" |
||||
|
} |
||||
|
[2]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(10) "SSL server" |
||||
|
} |
||||
|
[3]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(19) "Netscape SSL server" |
||||
|
} |
||||
|
[4]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(14) "S/MIME signing" |
||||
|
} |
||||
|
[5]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(17) "S/MIME encryption" |
||||
|
} |
||||
|
[6]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(11) "CRL signing" |
||||
|
} |
||||
|
[7]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(11) "Any Purpose" |
||||
|
} |
||||
|
[8]=> |
||||
|
array(3) { |
||||
|
[0]=> |
||||
|
bool(true) |
||||
|
[1]=> |
||||
|
bool(true) |
||||
|
[2]=> |
||||
|
string(11) "OCSP helper" |
||||
|
} |
||||
|
} |
||||
|
["extensions"]=> |
||||
|
array(3) { |
||||
|
["subjectKeyIdentifier"]=> |
||||
|
string(59) "DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D" |
||||
|
["authorityKeyIdentifier"]=> |
||||
|
string(202) "keyid:DB:7E:40:72:BD:5C:35:85:EC:29:29:81:12:E8:62:68:6A:B7:3F:7D |
||||
|
DirName:/C=BR/ST=Rio Grande do Sul/L=Porto Alegre/CN=Henrique do N. Angelo/emailAddress=hnangelo@php.net |
||||
|
serial:AE:C5:56:CC:72:37:50:A2 |
||||
|
" |
||||
|
["basicConstraints"]=> |
||||
|
string(7) "CA:TRUE" |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue