1--TEST-- 2openssl_csr_new() with array DN entry 3--EXTENSIONS-- 4openssl 5--FILE-- 6<?php 7 8$a = array(); 9 10$conf = array('config' => __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf'); 11 12// options type check 13$x = openssl_pkey_new($conf); 14$csr = openssl_csr_new( 15 [ 16 "countryName" => "GB", 17 "stateOrProvinceName" => "Somerset", 18 "localityName" => "Glastonbury", 19 "organizationName" => ["o1" => "PHP", "o2" => "PHP Foundation"], 20 "organizationalUnitName" => ["PHP Doc team", "PHP Admin team", "PHP Core team"], 21 "commonName" => "test.php.net", 22 "emailAddress" => "php.test@example.com" 23 ], 24 $x, 25 $conf + ["x509_extensions" => 0xDEADBEEF] 26); 27 28var_dump(openssl_csr_get_subject($csr)); 29 30?> 31--EXPECT-- 32array(7) { 33 ["C"]=> 34 string(2) "GB" 35 ["ST"]=> 36 string(8) "Somerset" 37 ["L"]=> 38 string(11) "Glastonbury" 39 ["O"]=> 40 array(2) { 41 [0]=> 42 string(3) "PHP" 43 [1]=> 44 string(14) "PHP Foundation" 45 } 46 ["OU"]=> 47 array(3) { 48 [0]=> 49 string(12) "PHP Doc team" 50 [1]=> 51 string(14) "PHP Admin team" 52 [2]=> 53 string(13) "PHP Core team" 54 } 55 ["CN"]=> 56 string(12) "test.php.net" 57 ["emailAddress"]=> 58 string(20) "php.test@example.com" 59}