1
0
mirror of https://github.com/php/php-src.git synced 2026-04-12 18:43:37 +02:00
Files
archived-php-src/ext/openssl/tests/openssl_cms_sign_basic.phpt
Eliot Lear 8583b8a9bf Add support for Cryptographic Message Syntax (CMS)
It add CMS (RFC 5652) support, which is an update to PKCS7.  The functions
are analogous BUT NOT IDENTICAL to openssl_pkcs7*.  In particular, support for
different encodings (PEM, DER, SMIME) is now available.
2020-06-07 16:58:34 +01:00

65 lines
2.1 KiB
PHP

--TEST--
openssl_cms_sign() tests
--SKIPIF--
<?php if (!extension_loaded("openssl")) print "skip"; ?>
--FILE--
<?php
$infile = __DIR__ . "/cert.crt";
$outfile = tempnam(sys_get_temp_dir(), "ssl");
if ($outfile === false) {
die("failed to get a temporary filename!");
}
$privkey = "file://" . __DIR__ . "/private_rsa_1024.key";
$single_cert = "file://" . __DIR__ . "/cert.crt";
$assoc_headers = array("To" => "test@test", "Subject" => "testing openssl_cms_sign()");
$headers = array("test@test", "testing openssl_cms_sign()");
$empty_headers = array();
$wrong = "wrong";
$empty = "";
var_dump(openssl_cms_sign($infile, $outfile, openssl_x509_read($single_cert), $privkey, $headers));
$s = stat($outfile);
if ($s['size'] < 500) {
print "size failure, not big enough.";
}
var_dump(openssl_cms_sign($infile, $outfile, $single_cert, $privkey, $headers));
var_dump(openssl_cms_sign($infile, $outfile, $single_cert, $privkey, $assoc_headers));
var_dump(openssl_cms_sign($infile, $outfile, $single_cert, $privkey, $empty_headers));
var_dump(openssl_cms_sign($wrong, $outfile, $single_cert, $privkey, $headers));
var_dump(openssl_cms_sign($empty, $outfile, $single_cert, $privkey, $headers));
var_dump(openssl_cms_sign($infile, $empty, $single_cert, $privkey, $headers));
var_dump(openssl_cms_sign($infile, $outfile, $wrong, $privkey, $headers));
var_dump(openssl_cms_sign($infile, $outfile, $empty, $privkey, $headers));
var_dump(openssl_cms_sign($infile, $outfile, $single_cert, $wrong, $headers));
if (file_exists($outfile)) {
echo "true\n";
unlink($outfile);
}
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)
Warning: openssl_cms_sign(): Error opening input file %s in %s on line %d
bool(false)
Warning: openssl_cms_sign(): Error opening input file %s in %s on line %d
bool(false)
Warning: openssl_cms_sign(): Error opening output file %s in %s on line %d
bool(false)
Warning: openssl_cms_sign(): Error getting cert in %s on line %d
bool(false)
Warning: openssl_cms_sign(): Error getting cert in %s on line %d
bool(false)
Warning: openssl_cms_sign(): Error getting private key in %s on line %d
bool(false)
true