$keyPair = openssl_pkey_new(array(
"curve_name" => prime256v1,
"private_key_type" => OPENSSL_KEYTYPE_EC,
));
openssl_pkey_export($keyPair,$private_key);
print_r($private_key)
密钥仍会生成,但是会出现错误
警告:使用不确定的常数prime256v1-假定为'prime256v1' (这会在将来的PHP版本中引发错误) GenPrivateKey.php
----- BEGIN EC PRIVATE KEY ----- MHcCAQEEIJTOhwzhTFjizqUyDwjh5eZcLBxyvcSG3WYze3HLWzrfoAoGCCqGSM49 AwEHoUQDQgAEGbzAL8sbxkb99V18s4 + M04 + v3k3QKhmTB3t4XKkGyAHPzycwkFu2 K + JI1YDSoJeMvVyZB8Pd / 5GsOzFUM4cFYA == ----- END EC PRIVATE KEY -----
有人知道为什么以及如何消除此警告吗?
谢谢
答案 0 :(得分:0)
说明
资源openssl_pkey_new([array $ configargs])
参数
configargs
您可以微调密钥生成(例如 指定位数)使用configargs。参见openssl_csr_new() 有关configargs的更多信息。
它要么需要像:-
$keyPair = openssl_pkey_new(array(
"curve_name" => 'prime256v1',
"private_key_type" => OPENSSL_KEYTYPE_EC,
));
或:-
$curve_names = openssl_get_curve_names(); //get all curve names
$keyPair = openssl_pkey_new(array(
"curve_name" => $curve_names[19], //use your one
"private_key_type" => OPENSSL_KEYTYPE_EC,
));
注意:-打开此链接openssl_csr_new(),您可以看到以下内容: