bug73478.phpt 1.2 KB

1234567891011121314151617181920212223
  1. --TEST--
  2. Bug #73478: openssl_pkey_new() generates wrong pub/priv keys with Diffie Hellman
  3. --EXTENSIONS--
  4. openssl
  5. --FILE--
  6. <?php
  7. $details = [
  8. 'p' => base64_decode('3Pk6C4g5cuwOGZiaxaLOMQ4dN3F+jZVxu3Yjcxhm5h73Wi4niYsFf5iRwuJ6Y5w/KbYIFFgc07LKOYbSaDcFV31FwuflLcgcehcYduXOp0sUSL/frxiCjv0lGfFOReOCZjSvGUnltTXMgppIO4p2Ij5dSQolfwW9/xby+yLFg6s='),
  9. 'g' => base64_decode('Ag=='),
  10. 'priv_key' => base64_decode('jUdcV++P/m7oUodWiqKqKXZVenHRuj92Ig6Fmzs7QlqVdUc5mNBxmEWjug+ObffanPpOeab/LyXwjNMzevtBz3tW4oROau++9EIMJVVQr8fW9zdYBJcYieC5l4t8nRj5/Uu/Z0G2rWVLBleSi28mqqNEvnUs7uxYxrar69lwQYs=')
  11. ];
  12. $opensslKeyResource = openssl_pkey_new(['dh' => $details]);
  13. $data = openssl_pkey_get_details($opensslKeyResource);
  14. printf("Private key:\n%s\n", base64_encode($data['dh']['priv_key']));
  15. printf("Public key:\n%s\n", base64_encode($data['dh']['pub_key']));
  16. ?>
  17. --EXPECT--
  18. Private key:
  19. jUdcV++P/m7oUodWiqKqKXZVenHRuj92Ig6Fmzs7QlqVdUc5mNBxmEWjug+ObffanPpOeab/LyXwjNMzevtBz3tW4oROau++9EIMJVVQr8fW9zdYBJcYieC5l4t8nRj5/Uu/Z0G2rWVLBleSi28mqqNEvnUs7uxYxrar69lwQYs=
  20. Public key:
  21. 0DmJUe9dr02pAtVoGyLHdC+rfBU3mDCelKGPXRDFHofx6mFfN2gcZCmp/ab4ezDXfpIBOatpVdbn2fTNUGo64DtKE2WGTsZCl90RgrGUv8XW/4WDPXeE7g5u7KWHBG/LCE5+XsilE5P5/GIyqr9gsiudTmk+H/hiYZl9Smar9k0=