openssl_csr_sign_basic.phpt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. --TEST--
  2. openssl_csr_sign() tests
  3. --SKIPIF--
  4. <?php if (!extension_loaded("openssl")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $cert = "file://" . dirname(__FILE__) . "/cert.crt";
  8. $priv = "file://" . dirname(__FILE__) . "/private_rsa_1024.key";
  9. $wrong = "wrong";
  10. $pub = "file://" . dirname(__FILE__) . "/public.key";
  11. $config = __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf';
  12. $config_arg = array('config' => $config);
  13. $dn = array(
  14. "countryName" => "BR",
  15. "stateOrProvinceName" => "Rio Grande do Sul",
  16. "localityName" => "Porto Alegre",
  17. "commonName" => "Henrique do N. Angelo",
  18. "emailAddress" => "hnangelo@php.net"
  19. );
  20. $args = array(
  21. "digest_alg" => "sha1",
  22. "private_key_bits" => 2048,
  23. "private_key_type" => OPENSSL_KEYTYPE_DSA,
  24. "encrypt_key" => true,
  25. "config" => $config
  26. );
  27. $privkey = openssl_pkey_new($config_arg);
  28. $csr = openssl_csr_new($dn, $privkey, $args);
  29. var_dump(openssl_csr_sign($csr, null, $privkey, 365, $args));
  30. var_dump(openssl_csr_sign($csr, null, $privkey, 365, $config_arg));
  31. var_dump(openssl_csr_sign($csr, $cert, $priv, 365, $config_arg));
  32. var_dump(openssl_csr_sign($csr, $wrong, $privkey, 365));
  33. var_dump(openssl_csr_sign($csr, null, $wrong, 365));
  34. var_dump(openssl_csr_sign($csr, null, $privkey, $wrong));
  35. var_dump(openssl_csr_sign($csr, null, $privkey, 365, $wrong));
  36. var_dump(openssl_csr_sign($wrong, null, $privkey, 365));
  37. var_dump(openssl_csr_sign(array(), null, $privkey, 365));
  38. var_dump(openssl_csr_sign($csr, array(), $privkey, 365));
  39. var_dump(openssl_csr_sign($csr, null, array(), 365));
  40. var_dump(openssl_csr_sign($csr, null, $privkey, array()));
  41. var_dump(openssl_csr_sign($csr, null, $privkey, 365, $config_arg));
  42. ?>
  43. --EXPECTF--
  44. resource(%d) of type (OpenSSL X.509)
  45. resource(%d) of type (OpenSSL X.509)
  46. resource(%d) of type (OpenSSL X.509)
  47. Warning: openssl_csr_sign(): cannot get cert from parameter 2 in %s on line %d
  48. bool(false)
  49. Warning: openssl_csr_sign(): cannot get private key from parameter 3 in %s on line %d
  50. bool(false)
  51. Warning: openssl_csr_sign() expects parameter 4 to be long, string given in %s on line %d
  52. NULL
  53. Warning: openssl_csr_sign() expects parameter 5 to be array, string given in %s on line %d
  54. NULL
  55. Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in %s on line %d
  56. bool(false)
  57. Warning: openssl_csr_sign(): cannot get CSR from parameter 1 in %s on line %d
  58. bool(false)
  59. Warning: openssl_csr_sign(): cannot get cert from parameter 2 in %s on line %d
  60. bool(false)
  61. Warning: openssl_csr_sign(): key array must be of the form array(0 => key, 1 => phrase) in %s on line %d
  62. Warning: openssl_csr_sign(): cannot get private key from parameter 3 in %s on line %d
  63. bool(false)
  64. Warning: openssl_csr_sign() expects parameter 4 to be long, array given in %s on line %d
  65. NULL
  66. resource(%d) of type (OpenSSL X.509)