Annotation of embedaddon/php/ext/openssl/tests/bug55646.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #55646: textual input in openssl_csr_new() is not expected in UTF-8
                      3: --SKIPIF--
                      4: <?php
                      5: if (!function_exists('openssl_csr_new'))
                      6:        die('skip no openssl extension');
                      7: --FILE--
                      8: <?php
                      9: function stringAsHex($string){$unpacked = unpack("H*", $string);return implode(" ", str_split($unpacked[1],2));}
                     10: 
                     11: $config = array("digest_alg" => "sha1","x509_extensions" => "v3_ca","req_extensions" => "v3_req","private_key_bits" => 2048,"private_key_type" => OPENSSL_KEYTYPE_RSA,"encrypt_key" => false,);
                     12: $csr_info = array(
                     13:   "countryName" => "US",
                     14:   "stateOrProvinceName" => "Utah",
                     15:   "localityName" => "Lindon",
                     16:   "organizationName" => "Chinese",
                     17:   "organizationalUnitName" => "IT \xe4\xba\x92",
                     18:   "commonName" => "www.example.com",);
                     19: $private = openssl_pkey_new($config);
                     20: while (openssl_error_string()) {}
                     21: $csr_res = openssl_csr_new($csr_info, $private,
                     22:        ['config' => __DIR__."/openssl.cnf"]);
                     23: if (!$csr_res) {
                     24:        while ($e = openssl_error_string()) { $err = $e; }
                     25:        die("Failed; last error: $err");
                     26: }
                     27: openssl_csr_export($csr_res, $csr);
                     28: $output = openssl_csr_get_subject($csr);
                     29: 
                     30: echo "A: ".$csr_info["organizationalUnitName"]."\n";
                     31: echo "B: ".stringAsHex($csr_info["organizationalUnitName"])."\n";
                     32: echo "C: ".$output['OU']."\n";
                     33: echo "D: ".stringAsHex($output['OU'])."\n";
                     34: --EXPECT--
                     35: A: IT 互
                     36: B: 49 54 20 e4 ba 92
                     37: C: IT 互
                     38: D: 49 54 20 e4 ba 92

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>