Php 生成256bit ECDSA私钥
我想用php制作一个带有Php 生成256bit ECDSA私钥,php,private-key,ecdsa,Php,Private Key,Ecdsa,我想用php制作一个带有secp256k1曲线的256位ECDSA私钥 我用了这个片段: $pk_Generate = openssl_pkey_new(array( 'private_key_bits' => 256, 'private_key_type' => OPENSSL_KEYTYPE_EC, 'curve_name' => 'secp256k1' )); while ($msg = openssl_error_string()) e
secp256k1
曲线的256位ECDSA
私钥
我用了这个片段:
$pk_Generate = openssl_pkey_new(array(
'private_key_bits' => 256,
'private_key_type' => OPENSSL_KEYTYPE_EC,
'curve_name' => 'secp256k1'
));
while ($msg = openssl_error_string())
echo $msg . "<br />\n";
openssl_pkey_export($pk_Generate, $pk_Generate_Private);
var_dump($pk_Generate_Private); // show me NULL
另外,如果这段代码工作正常,它会以PEM
格式向我显示私钥,但我希望它是十六进制字符串格式
请引导我。试试这个
$config = [
"config" => getenv('OPENSSL_CONF'),
'private_key_type' => OPENSSL_KEYTYPE_EC,
'curve_name' => 'secp256k1'
];
$res = openssl_pkey_new($config);
if (!$res) {
echo 'ERROR: Fail to generate private key. -> ' . openssl_error_string();
exit;
}
// Generate Private Key
openssl_pkey_export($res, $priv_key, NULL, $config);
// Get The Public Key
$key_detail = openssl_pkey_get_details($res);
$pub_key = $key_detail["key"];
echo "priv_key:<br>".$priv_key;
echo "<br><br>pub_key:<br>".$pub_key;
$config=[
“config”=>getenv('OPENSSL_CONF'),
“私钥类型”=>OPENSSL密钥类型,
“曲线名称”=>“secp256k1”
];
$res=openssl\u pkey\u new($config);
如果(!$res){
echo“错误:无法生成私钥。->”。openssl_错误_字符串();
出口
}
//生成私钥
openssl_pkey_导出($res,$priv_key,NULL,$config);
//获取公钥
$key\u detail=openssl\u pkey\u get\u details($res);
$pub_key=$key_detail[“key”];
回显“priv_key:
”$priv_key;
回声“
发布密钥:
”$pub\u密钥;
$config = [
"config" => getenv('OPENSSL_CONF'),
'private_key_type' => OPENSSL_KEYTYPE_EC,
'curve_name' => 'secp256k1'
];
$res = openssl_pkey_new($config);
if (!$res) {
echo 'ERROR: Fail to generate private key. -> ' . openssl_error_string();
exit;
}
// Generate Private Key
openssl_pkey_export($res, $priv_key, NULL, $config);
// Get The Public Key
$key_detail = openssl_pkey_get_details($res);
$pub_key = $key_detail["key"];
echo "priv_key:<br>".$priv_key;
echo "<br><br>pub_key:<br>".$pub_key;