1--TEST-- 2openssl_pkcs12_export_to_file() tests 3--SKIPIF-- 4<?php if (!extension_loaded("openssl")) print "skip"; ?> 5--FILE-- 6<?php 7$pkcsfile = __DIR__ . "/openssl_pkcs12_export_to_file__pkcsfile.tmp"; 8 9$cert_file = __DIR__ . "/public.crt"; 10$cert = file_get_contents($cert_file); 11$cert_path = "file://" . $cert_file; 12$priv_file = __DIR__ . "/private.crt"; 13$priv = file_get_contents($priv_file); 14$priv_path = "file://" . $priv_file; 15$cert_res = openssl_x509_read($cert); 16$priv_res = openssl_pkey_get_private($priv); 17$pass = "test"; 18$invalid = ""; 19$invalid_path = __DIR__ . "/invalid_path"; 20$opts = []; 21 22var_dump(openssl_pkcs12_export_to_file($cert, $pkcsfile, $priv, $pass)); 23var_dump(openssl_pkcs12_read(file_get_contents($pkcsfile), $opts, $pass)); 24var_dump(openssl_pkcs12_export_to_file($cert_path, $pkcsfile, $priv_path, $pass)); 25var_dump(openssl_pkcs12_read(file_get_contents($pkcsfile), $opts, $pass)); 26var_dump(openssl_pkcs12_export_to_file($cert_res, $pkcsfile, $priv_res, $pass)); 27var_dump(openssl_pkcs12_read(file_get_contents($pkcsfile), $opts, $pass)); 28var_dump(openssl_pkcs12_export_to_file($cert_res, $pkcsfile, $priv_res, $pass, array('extracerts' => $cert))); 29var_dump(openssl_pkcs12_read(file_get_contents($pkcsfile), $opts, $pass)); 30 31var_dump(openssl_pkcs12_export_to_file($invalid, $pkcsfile, $invalid, $pass)); 32var_dump(openssl_pkcs12_export_to_file($invalid_path, $pkcsfile, $invalid_path, $pass)); 33try { 34 var_dump(openssl_pkcs12_export_to_file($priv_res, $pkcsfile, $cert_res, $pass)); 35} catch (TypeError $e) { 36 echo $e->getMessage(), "\n"; 37} 38?> 39--CLEAN-- 40<?php 41$pkcsfile = __DIR__ . "/openssl_pkcs12_export_to_file__pkcsfile.tmp"; 42if (file_exists($pkcsfile)) { 43 unlink($pkcsfile); 44} 45?> 46--EXPECTF-- 47bool(true) 48bool(true) 49bool(true) 50bool(true) 51bool(true) 52bool(true) 53bool(true) 54bool(true) 55 56Warning: openssl_pkcs12_export_to_file(): X.509 Certificate cannot be retrieved in %s on line %d 57bool(false) 58 59Warning: openssl_pkcs12_export_to_file(): X.509 Certificate cannot be retrieved in %s on line %d 60bool(false) 61openssl_pkcs12_export_to_file(): Argument #1 ($certificate) must be of type OpenSSLCertificate|string, OpenSSLAsymmetricKey given 62