summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/openssl/tests/openssl_pkcs12_export_to_file_error.phpt37
1 files changed, 37 insertions, 0 deletions
diff --git a/ext/openssl/tests/openssl_pkcs12_export_to_file_error.phpt b/ext/openssl/tests/openssl_pkcs12_export_to_file_error.phpt
new file mode 100644
index 0000000000..f1e72d358e
--- /dev/null
+++ b/ext/openssl/tests/openssl_pkcs12_export_to_file_error.phpt
@@ -0,0 +1,37 @@
+--TEST--
+openssl_pkcs12_export_to_file() error tests
+--SKIPIF--
+<?php if (!extension_loaded("openssl")) print "skip"; ?>
+--FILE--
+<?php
+$pkcsfile = dirname(__FILE__) . "/openssl_pkcs12_export_to_file__pkcsfile.tmp";
+
+$cert_file = dirname(__FILE__) . "/public.crt";
+$cert = file_get_contents($cert_file);
+$cert_path = "file://" . $cert_file;
+$priv_file = dirname(__FILE__) . "/private.crt";
+$priv = file_get_contents($priv_file);
+$wrong_priv_file = dirname(__FILE__) . "/private_rsa_1024.key";
+$wrong_priv = file_get_contents($wrong_priv_file);
+$pass = 'test';
+
+var_dump(openssl_pkcs12_export_to_file($cert, $pkcsfile, null, $pass));
+var_dump(openssl_pkcs12_export_to_file($cert, $pkcsfile, $wrong_priv, $pass));
+var_dump(openssl_pkcs12_export_to_file($cert, '.', $priv, $pass));
+?>
+--CLEAN--
+<?php
+$pkcsfile = dirname(__FILE__) . "/openssl_pkcs12_export_to_file__pkcsfile.tmp";
+if (file_exists($pkcsfile)) {
+ unlink($pkcsfile);
+}
+?>
+--EXPECTF--
+Warning: openssl_pkcs12_export_to_file(): cannot get private key from parameter 3 in %s on line %d
+bool(false)
+
+Warning: openssl_pkcs12_export_to_file(): private key does not correspond to cert in %s on line %d
+bool(false)
+
+Warning: openssl_pkcs12_export_to_file(): error opening file . in %s on line %d
+bool(false)