bug61930.phpt 830 B

12345678910111213141516171819202122232425
  1. --TEST--
  2. Bug #61930: openssl corrupts ssl key resource when using openssl_get_publickey()
  3. --EXTENSIONS--
  4. openssl
  5. --FILE--
  6. <?php
  7. $cert = file_get_contents(__DIR__.'/public.crt');
  8. $data = <<<DATA
  9. Please verify me
  10. DATA;
  11. $sig = 'w45LtLoRY/WPk/kcmP6CwGysOMuxuLbD35xMB/iAe5IMiBJjz2D1WGEY7Vz+rLZmYqOo58qNC3VtTg6ge9+UhfQHplvs6cXGKm' .
  12. 'SkQlYv4EeFoByqYfPU9k2dE/WEItOJUUyqu9pHaCmRtLpxoLnJcdQVdiXfT0t8KwxUzZYDjrSfhp7rbKhhCc4jZMwo9PvBuPAT' .
  13. 'MEfZbRNaVpwCFpjmmJczZCHFZFm7JYzR2jU0sjJMGALXidNBs9p0Fi1TGz3pZkxnQ5lwI5DX5ZSY0jiOcoVFt7k29GVFd0DPjm' .
  14. '1NyieYU6tpnanG+ZqHIT8Um3FajYh0x1iMMe2lLETjklqYiw==';
  15. $key = openssl_get_publickey($cert);
  16. var_dump(openssl_get_publickey($key));
  17. var_dump(openssl_verify($data, base64_decode($sig), $key, OPENSSL_ALGO_SHA256));
  18. ?>
  19. --EXPECTF--
  20. object(OpenSSLAsymmetricKey)#%d (0) {
  21. }
  22. int(1)