openssl_pkey_new
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
openssl_pkey_new — 產生一個新的私鑰
說明
openssl_pkey_new() 產生一個新的私鑰和公鑰對。如何獲取該金鑰的公共元件參見以下示例。
注意: 必須安裝有效的 openssl.cnf 以保證此函式正確執行。參考有關安裝的說明以獲得更多資訊。
返回值
成功時返回 OpenSSLAsymmetricKey 實例,錯誤則返回 false
。
更新日誌
版本 | 說明 |
---|---|
8.0.0 |
成功時此函式會返回 OpenSSLAsymmetricKey 的實例;在之前版本中,則會返回類似為
OpenSSL key 的 資源(resource)。
|
7.1.0 | 新增了 curve_name 配置參數使得可以建立 EC 金鑰。 |
範例
示例 #1 Obtain the public key from a private key
<?php
$private_key = openssl_pkey_new();
$public_key_pem = openssl_pkey_get_details($private_key)['key'];
echo $public_key_pem;
$public_key = openssl_pkey_get_public($public_key_pem);
var_dump($public_key);
?>
以上例程的輸出類似於:
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1 MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j pwIDAQAB -----END PUBLIC KEY----- resource(5) of type (OpenSSL key)