1--TEST--
2openssl_x509_export() tests
3--SKIPIF--
4<?php if (!extension_loaded("openssl")) print "skip"; ?>
5--FILE--
6<?php
7$cert_file = dirname(__FILE__) . "/cert.crt";
8
9$a = file_get_contents($cert_file);
10$b = "file://" . $cert_file;
11$c = "invalid cert";
12$d = openssl_x509_read($a);
13$e = array();
14
15var_dump(openssl_x509_export($a, $output));  // read cert as a binary string
16var_dump(openssl_x509_export($b, $output2)); // read cert from a filename string
17var_dump(openssl_x509_export($c, $output3)); // read an invalid cert, fails
18var_dump(openssl_x509_export($d, $output4)); // read cert from a resource
19var_dump(openssl_x509_export($e, $output5)); // read an array, fails
20
21var_dump(strcmp($output, $a));
22var_dump(strcmp($output, $output2));
23var_dump(strcmp($output, $output3));
24var_dump(strcmp($output, $output4)); // different
25var_dump(strcmp($output, $output5)); // different
26?>
27--EXPECTF--
28bool(true)
29bool(true)
30
31Warning: openssl_x509_export(): cannot get cert from parameter 1 in %s on line %d
32bool(false)
33bool(true)
34
35Warning: openssl_x509_export(): cannot get cert from parameter 1 in %s on line %d
36bool(false)
37int(0)
38int(0)
39int(%d)
40int(0)
41int(%d)
42