Annotation of embedaddon/php/ext/openssl/tests/bug55646.phpt, revision 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>