PHP生成公鑰和私鑰

$openssl_cnf_path = 'openssl.cnf路徑';
$config = array(
    'config'=> $openssl_cnf_path,
    "digest_alg" => "sha512",
    "private_key_bits" => 4096,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
	
);
//創建私鑰和公鑰
$res = openssl_pkey_new($config);

//獲取私鑰
openssl_pkey_export($res, $privKey, null, $config);

//獲取公鑰
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];

注意事項

1.PHP的openssl擴展需要開啓
2.如果是Linux,一般在安裝PHP的時候會指定openssl的安裝路徑,此時,$config中的config參數可以去掉,openssl_pkey_export中的後面兩個參數也可以去掉。Windows的話,就需要指定openssl.cnf路徑了,一般在PHP的安裝目錄下的extras\ssl中有openssl.cnf文件,在$config需要設置openssl.cnf的路徑,openssl_pkey_export也一定要帶上後面兩個參數,否則無法生成公鑰和私鑰。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章