summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2017-10-30 14:29:05 +0000
committerJakub Zelenka <bukka@php.net>2017-10-30 16:40:56 +0000
commite78e839e53e6e91d6637cfce220f98a6070f48d5 (patch)
treee72fa002b3d3723018de3f74d7f1784c7679fc3d
parent528aa540b44e5889c41ec350cec76c2117aa9f0b (diff)
downloadphp-git-e78e839e53e6e91d6637cfce220f98a6070f48d5.tar.gz
Rewrite openssl_csr_get_subject test to improve coverage
-rw-r--r--ext/openssl/tests/openssl_csr_get_subject_basic.phpt58
1 files changed, 47 insertions, 11 deletions
diff --git a/ext/openssl/tests/openssl_csr_get_subject_basic.phpt b/ext/openssl/tests/openssl_csr_get_subject_basic.phpt
index 895ed3695d..6fe41f80e8 100644
--- a/ext/openssl/tests/openssl_csr_get_subject_basic.phpt
+++ b/ext/openssl/tests/openssl_csr_get_subject_basic.phpt
@@ -2,19 +2,43 @@
openssl_csr_get_subject() tests
--SKIPIF--
<?php
-if (!extension_loaded("openssl")) die("skip");
-if (!function_exists("utf8_decode")) die("skip");
+if (!extension_loaded("openssl")) die("skip");
?>
--FILE--
<?php
+$config = __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf';
+$phex = 'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61e' .
+ 'f75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d268370557' .
+ '7d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e382' .
+ '6634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab';
+$dh_details = array('p' => $phex, 'g' => '2');
+$dh = openssl_pkey_new(array(
+ 'dh'=> array('p' => hex2bin($phex), 'g' => '2'))
+);
-$csr = file_get_contents(dirname(__FILE__) . '/cert.csr');
-if ($out = openssl_csr_get_subject($csr, 1)) {
- var_dump($out);
-}
-echo "\n";
-$cn = utf8_decode($out['CN']);
-var_dump($cn);
+$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,
+ "config" => $config,
+);
+
+$privkey_file = 'file://' . dirname(__FILE__) . '/private_rsa_2048.key';
+$csr = openssl_csr_new($dn, $privkey_file, $args);
+$csr_file = file_get_contents(dirname(__FILE__) . '/cert.csr');
+
+var_dump(openssl_csr_get_subject($csr_file));
+var_dump(openssl_csr_get_subject($csr, false));
+?>
--EXPECTF--
array(6) {
["C"]=>
@@ -30,5 +54,17 @@ array(6) {
["CN"]=>
string(15) "*.triconnect.nl"
}
-
-string(15) "*.triconnect.nl"
+array(6) {
+ ["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"
+ ["organizationName"]=>
+ string(24) "Internet Widgits Pty Ltd"
+}