openssl_x509_checkpurpose_basic.phpt 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. --TEST--
  2. int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] ) function
  3. --CREDITS--
  4. marcosptf - <marcosptf@yahoo.com.br>
  5. --SKIPIF--
  6. <?php if (!extension_loaded("openssl")) print "skip";
  7. if (OPENSSL_VERSION_NUMBER < 0x10000000) die("skip Output requires OpenSSL 1.0");
  8. ?>
  9. --FILE--
  10. <?php
  11. $cert = "file://" . dirname(__FILE__) . "/cert.crt";
  12. $bert = "file://" . dirname(__FILE__) . "/bug41033.pem";
  13. $sert = "file://" . dirname(__FILE__) . "/san-cert.pem";
  14. $cpca = dirname(__FILE__) . "/san-ca.pem";
  15. $utfl = dirname(__FILE__) . "/sni_server_uk.pem";
  16. $rcrt = openssl_x509_read($cert);
  17. /* int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose); */
  18. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_CLIENT));
  19. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_SERVER));
  20. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_NS_SSL_SERVER));
  21. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_SIGN));
  22. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_ENCRYPT));
  23. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_CRL_SIGN));
  24. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_ANY));
  25. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_CLIENT));
  26. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_SERVER));
  27. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_NS_SSL_SERVER));
  28. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_SIGN));
  29. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_ENCRYPT));
  30. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_CRL_SIGN));
  31. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_ANY));
  32. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_CLIENT));
  33. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_SERVER));
  34. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_NS_SSL_SERVER));
  35. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_SIGN));
  36. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_ENCRYPT));
  37. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_CRL_SIGN));
  38. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_ANY));
  39. /* int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() ] ); */
  40. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_CLIENT, array($cpca)));
  41. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_SERVER, array($cpca)));
  42. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_NS_SSL_SERVER, array($cpca)));
  43. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_SIGN, array($cpca)));
  44. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca)));
  45. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_CRL_SIGN, array($cpca)));
  46. var_dump(openssl_x509_checkpurpose($rcrt, X509_PURPOSE_ANY, array($cpca)));
  47. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_CLIENT, array($cpca)));
  48. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_SERVER, array($cpca)));
  49. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_NS_SSL_SERVER, array($cpca)));
  50. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_SIGN, array($cpca)));
  51. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca)));
  52. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_CRL_SIGN, array($cpca)));
  53. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_ANY, array($cpca)));
  54. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_CLIENT, array($cpca)));
  55. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_SERVER, array($cpca)));
  56. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_NS_SSL_SERVER, array($cpca)));
  57. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_SIGN, array($cpca)));
  58. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca)));
  59. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_CRL_SIGN, array($cpca)));
  60. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_ANY, array($cpca)));
  61. /* int openssl_x509_checkpurpose ( mixed $x509cert , int $purpose [, array $cainfo = array() [, string $untrustedfile ]] ); function */
  62. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_CLIENT, array($cpca), $utfl));
  63. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SSL_SERVER, array($cpca), $utfl));
  64. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_NS_SSL_SERVER, array($cpca), $utfl));
  65. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_SIGN, array($cpca), $utfl));
  66. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca), $utfl));
  67. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_CRL_SIGN, array($cpca), $utfl));
  68. var_dump(openssl_x509_checkpurpose($cert, X509_PURPOSE_ANY, array($cpca), $utfl));
  69. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_CLIENT, array($cpca), $utfl));
  70. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SSL_SERVER, array($cpca), $utfl));
  71. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_NS_SSL_SERVER, array($cpca), $utfl));
  72. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_SIGN, array($cpca), $utfl));
  73. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca), $utfl));
  74. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_CRL_SIGN, array($cpca), $utfl));
  75. var_dump(openssl_x509_checkpurpose($bert, X509_PURPOSE_ANY, array($cpca), $utfl));
  76. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_CLIENT, array($cpca), $utfl));
  77. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SSL_SERVER, array($cpca), $utfl));
  78. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_NS_SSL_SERVER, array($cpca), $utfl));
  79. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_SIGN, array($cpca), $utfl));
  80. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_SMIME_ENCRYPT, array($cpca), $utfl));
  81. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_CRL_SIGN, array($cpca), $utfl));
  82. var_dump(openssl_x509_checkpurpose($sert, X509_PURPOSE_ANY, array($cpca), $utfl));
  83. ?>
  84. --EXPECT--
  85. bool(false)
  86. bool(false)
  87. bool(false)
  88. bool(false)
  89. bool(false)
  90. bool(false)
  91. bool(false)
  92. int(-1)
  93. int(-1)
  94. int(-1)
  95. int(-1)
  96. int(-1)
  97. int(-1)
  98. int(-1)
  99. bool(false)
  100. bool(false)
  101. bool(false)
  102. bool(false)
  103. bool(false)
  104. bool(false)
  105. bool(false)
  106. bool(false)
  107. bool(false)
  108. bool(false)
  109. bool(false)
  110. bool(false)
  111. bool(false)
  112. bool(false)
  113. int(-1)
  114. int(-1)
  115. int(-1)
  116. int(-1)
  117. int(-1)
  118. int(-1)
  119. int(-1)
  120. bool(true)
  121. bool(true)
  122. bool(true)
  123. bool(true)
  124. bool(true)
  125. bool(true)
  126. bool(true)
  127. bool(false)
  128. bool(false)
  129. bool(false)
  130. bool(false)
  131. bool(false)
  132. bool(false)
  133. bool(false)
  134. int(-1)
  135. int(-1)
  136. int(-1)
  137. int(-1)
  138. int(-1)
  139. int(-1)
  140. int(-1)
  141. bool(true)
  142. bool(true)
  143. bool(true)
  144. bool(true)
  145. bool(true)
  146. bool(true)
  147. bool(true)