bug28382.phpt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Bug #28382 (openssl_x509_parse extensions support)
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("openssl")) die("skip");
  6. if (OPENSSL_VERSION_NUMBER<0x009070af) die("skip");
  7. ?>
  8. --FILE--
  9. <?php
  10. $cert = file_get_contents(dirname(__FILE__) . "/bug28382cert.txt");
  11. $ext = openssl_x509_parse($cert);
  12. var_dump($ext['extensions']);
  13. /* openssl 1.0 prepends the string "Full Name:" to the crlDistributionPoints array key.
  14. For now, as this is the one difference only between 0.9.x and 1.x, it's handled with
  15. placeholders to not to duplicate the test. When more diffs come, a duplication would
  16. be probably a better solution.
  17. */
  18. ?>
  19. --EXPECTF--
  20. array(11) {
  21. ["basicConstraints"]=>
  22. string(8) "CA:FALSE"
  23. ["nsComment"]=>
  24. string(38) "For Grid use only; request tag userTag"
  25. ["nsCertType"]=>
  26. string(30) "SSL Client, SSL Server, S/MIME"
  27. ["crlDistributionPoints"]=>
  28. string(%d) "%AURI:http://mobile.blue-software.ro:90/ca/crl.shtml
  29. "
  30. ["nsCaPolicyUrl"]=>
  31. string(38) "http://mobile.blue-software.ro:90/pub/"
  32. ["subjectAltName"]=>
  33. string(28) "email:sergiu@bluesoftware.ro"
  34. ["subjectKeyIdentifier"]=>
  35. string(59) "B0:A7:FF:F9:41:15:DE:23:39:BD:DD:31:0F:97:A0:B2:A2:74:E0:FC"
  36. ["authorityKeyIdentifier"]=>
  37. string(115) "DirName:/C=RO/ST=Romania/L=Craiova/O=Sergiu/OU=Sergiu SRL/CN=Sergiu CA/emailAddress=n_sergiu@hotmail.com
  38. serial:00
  39. "
  40. ["keyUsage"]=>
  41. string(71) "Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment"
  42. ["nsBaseUrl"]=>
  43. string(20) "http://62.231.98.52/"
  44. ["1.2.3.4"]=>
  45. string(4) "%s"
  46. }