cataphract                               Wed, 14 Sep 2011 09:56:59 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=316726

Log:
- Fixed test ext/openssl/tests/004.phpt.
- Made ext/openssl/tests/bug55646.phpt more reproducible by giving it a custom
  openssl.cnf.

Bug: https://bugs.php.net/55646 (Closed) decoding csr corrupts UTF8 characters
      
Changed paths:
    U   php/php-src/branches/PHP_5_4/ext/openssl/tests/004.phpt
    U   php/php-src/branches/PHP_5_4/ext/openssl/tests/bug55646.phpt
    A   php/php-src/branches/PHP_5_4/ext/openssl/tests/openssl.cnf
    U   php/php-src/trunk/ext/openssl/tests/004.phpt
    U   php/php-src/trunk/ext/openssl/tests/bug55646.phpt
    A   php/php-src/trunk/ext/openssl/tests/openssl.cnf

Modified: php/php-src/branches/PHP_5_4/ext/openssl/tests/004.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/openssl/tests/004.phpt     2011-09-14 
09:27:39 UTC (rev 316725)
+++ php/php-src/branches/PHP_5_4/ext/openssl/tests/004.phpt     2011-09-14 
09:56:59 UTC (rev 316726)
@@ -28,7 +28,7 @@

 Warning: openssl_csr_new(): key array must be of the form array(0 => key, 1 => 
phrase) in %s on line %d

-Warning: openssl_csr_new(): add1_attr_by_txt challengePassword_min -> 4 
(failed) in %s on line %d
+Warning: openssl_csr_new(): add1_attr_by_txt challengePassword_min -> 4 
(failed; check error queue and value of string_mask OpenSSL option if illegal 
characters are reported) in %s on line %d
 bool(false)
 resource(%d) of type (OpenSSL X.509 CSR)
 Done

Modified: php/php-src/branches/PHP_5_4/ext/openssl/tests/bug55646.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/openssl/tests/bug55646.phpt        
2011-09-14 09:27:39 UTC (rev 316725)
+++ php/php-src/branches/PHP_5_4/ext/openssl/tests/bug55646.phpt        
2011-09-14 09:56:59 UTC (rev 316726)
@@ -17,7 +17,13 @@
   "organizationalUnitName" => "IT \xe4\xba\x92",
   "commonName" => "www.example.com",);
 $private = openssl_pkey_new($config);
-$csr_res = openssl_csr_new($csr_info, $private);
+while (openssl_error_string()) {}
+$csr_res = openssl_csr_new($csr_info, $private,
+       ['config' => __DIR__."/openssl.cnf"]);
+if (!$csr_res) {
+       while ($e = openssl_error_string()) { $err = $e; }
+       die("Failed; last error: $err");
+}
 openssl_csr_export($csr_res, $csr);
 $output = openssl_csr_get_subject($csr);


Added: php/php-src/branches/PHP_5_4/ext/openssl/tests/openssl.cnf
===================================================================
--- php/php-src/branches/PHP_5_4/ext/openssl/tests/openssl.cnf                  
        (rev 0)
+++ php/php-src/branches/PHP_5_4/ext/openssl/tests/openssl.cnf  2011-09-14 
09:56:59 UTC (rev 316726)
@@ -0,0 +1,40 @@
+[ req ]
+default_bits           = 1024
+default_keyfile        = privkey.pem
+distinguished_name     = req_distinguished_name
+attributes             = req_attributes
+x509_extensions        = v3_ca # The extentions to add to the self signed cert
+string_mask = MASK:4294967295
+
+
+[ req_distinguished_name ]
+countryName                    = Country Name (2 letter code)
+countryName_default            = AU
+countryName_min                        = 2
+countryName_max                        = 2
+stateOrProvinceName            = State or Province Name (full name)
+stateOrProvinceName_default    = Some-State
+localityName                   = Locality Name (eg, city)
+0.organizationName             = Organization Name (eg, company)
+0.organizationName_default     = Internet Widgits Pty Ltd
+organizationalUnitName         = Organizational Unit Name (eg, section)
+commonName                     = Common Name (eg, YOUR name)
+commonName_max                 = 64
+emailAddress                   = Email Address
+emailAddress_max               = 64
+
+[ req_attributes ]
+challengePassword              = A challenge password
+challengePassword_min          = 4
+challengePassword_max          = 20
+unstructuredName               = An optional company name
+
+[ v3_req ]
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+[ v3_ca ]
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid:always,issuer:always
+basicConstraints = CA:true
+

Modified: php/php-src/trunk/ext/openssl/tests/004.phpt
===================================================================
--- php/php-src/trunk/ext/openssl/tests/004.phpt        2011-09-14 09:27:39 UTC 
(rev 316725)
+++ php/php-src/trunk/ext/openssl/tests/004.phpt        2011-09-14 09:56:59 UTC 
(rev 316726)
@@ -28,7 +28,7 @@

 Warning: openssl_csr_new(): key array must be of the form array(0 => key, 1 => 
phrase) in %s on line %d

-Warning: openssl_csr_new(): add1_attr_by_txt challengePassword_min -> 4 
(failed) in %s on line %d
+Warning: openssl_csr_new(): add1_attr_by_txt challengePassword_min -> 4 
(failed; check error queue and value of string_mask OpenSSL option if illegal 
characters are reported) in %s on line %d
 bool(false)
 resource(%d) of type (OpenSSL X.509 CSR)
 Done

Modified: php/php-src/trunk/ext/openssl/tests/bug55646.phpt
===================================================================
--- php/php-src/trunk/ext/openssl/tests/bug55646.phpt   2011-09-14 09:27:39 UTC 
(rev 316725)
+++ php/php-src/trunk/ext/openssl/tests/bug55646.phpt   2011-09-14 09:56:59 UTC 
(rev 316726)
@@ -17,7 +17,13 @@
   "organizationalUnitName" => "IT \xe4\xba\x92",
   "commonName" => "www.example.com",);
 $private = openssl_pkey_new($config);
-$csr_res = openssl_csr_new($csr_info, $private);
+while (openssl_error_string()) {}
+$csr_res = openssl_csr_new($csr_info, $private,
+       ['config' => __DIR__."/openssl.cnf"]);
+if (!$csr_res) {
+       while ($e = openssl_error_string()) { $err = $e; }
+       die("Failed; last error: $err");
+}
 openssl_csr_export($csr_res, $csr);
 $output = openssl_csr_get_subject($csr);


Added: php/php-src/trunk/ext/openssl/tests/openssl.cnf
===================================================================
--- php/php-src/trunk/ext/openssl/tests/openssl.cnf                             
(rev 0)
+++ php/php-src/trunk/ext/openssl/tests/openssl.cnf     2011-09-14 09:56:59 UTC 
(rev 316726)
@@ -0,0 +1,40 @@
+[ req ]
+default_bits           = 1024
+default_keyfile        = privkey.pem
+distinguished_name     = req_distinguished_name
+attributes             = req_attributes
+x509_extensions        = v3_ca # The extentions to add to the self signed cert
+string_mask = MASK:4294967295
+
+
+[ req_distinguished_name ]
+countryName                    = Country Name (2 letter code)
+countryName_default            = AU
+countryName_min                        = 2
+countryName_max                        = 2
+stateOrProvinceName            = State or Province Name (full name)
+stateOrProvinceName_default    = Some-State
+localityName                   = Locality Name (eg, city)
+0.organizationName             = Organization Name (eg, company)
+0.organizationName_default     = Internet Widgits Pty Ltd
+organizationalUnitName         = Organizational Unit Name (eg, section)
+commonName                     = Common Name (eg, YOUR name)
+commonName_max                 = 64
+emailAddress                   = Email Address
+emailAddress_max               = 64
+
+[ req_attributes ]
+challengePassword              = A challenge password
+challengePassword_min          = 4
+challengePassword_max          = 20
+unstructuredName               = An optional company name
+
+[ v3_req ]
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+[ v3_ca ]
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid:always,issuer:always
+basicConstraints = CA:true
+

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to