fork download
  1. <?php
  2.  
  3. $config = [
  4. "config" => getenv('OPENSSL_CONF'),
  5. 'private_key_type' => OPENSSL_KEYTYPE_EC,
  6. 'curve_name' => 'secp256k1'
  7. ];
  8. $res = openssl_pkey_new($config);
  9. if (!$res) {
  10. echo 'ERROR: Fail to generate private key. -> ' . openssl_error_string();
  11. }
  12. // Generate Private Key
  13. openssl_pkey_export($res, $priv_key, NULL, $config);
  14. // Get The Public Key
  15. $key_detail = openssl_pkey_get_details($res);
  16. $pub_key = $key_detail["key"];
  17.  
  18. echo "priv_key:<br>".$priv_key;
  19. echo "<br><br>pub_key:<br>".$pub_key;
Success #stdin #stdout 0.04s 26076KB
stdin
Standard input is empty
stdout
priv_key:<br>-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIPvKSpAyiaaXVnLCMwMf8pWQxBueKQveMpu4cD9HGkOooAcGBSuBBAAK
oUQDQgAEn33NlmElAD30LhUbk5qyltKqxN4s9xpndy5Rw5y1nV6AakysatK/t6rF
Am98h48Yp7FKGTfRQZ1rmAiTrf7KVQ==
-----END EC PRIVATE KEY-----
<br><br>pub_key:<br>-----BEGIN PUBLIC KEY-----
MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEn33NlmElAD30LhUbk5qyltKqxN4s9xpn
dy5Rw5y1nV6AakysatK/t6rFAm98h48Yp7FKGTfRQZ1rmAiTrf7KVQ==
-----END PUBLIC KEY-----