openssl_pkey_new() 函数是 PHP 加密扩展中的内置函数,用于使用 OpenSSL 库生成新的私钥/公钥对。
用法:
openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false
Parameters: 该函数接受一个参数,如下所述。
- $options:一组可选的配置选项,可用于自定义 key 生成过程。这可以包括 key 类型、 key 长度和摘要算法等选项。
返回值:返回值openssl_pkey_new()是新的 OpenSSL key 对资源,可与其他 OpenSSL 函数一起使用。该资源代表生成的 key 对的私钥和公钥部分。如果失败,将返回 false。
示例 1:下面的程序演示了openssl_pkey_new()函数。
PHP
<?php
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
$keypair = openssl_pkey_new($config);
openssl_pkey_export($keypair, $private_key);
$public_key = openssl_pkey_get_details($keypair);
$public_key = $public_key["key"];
echo "Private key: " . $private_key . "\n";
echo "Public key: " . $public_key . "\n";
?>
输出:
Private key: -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0... ... ...o9NsYUeNhM2eTDd5KnyQA== -----END PRIVATE KEY----- Public key: -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQE... ... ...JmQQIDAQABDGSFdgKHJhgER -----END PUBLIC KEY-----
示例 2:下面的程序演示了openssl_pkey_new()函数。
PHP
<?php
$config = [
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
$keypair = openssl_pkey_new($config);
if ($keypair) {
openssl_pkey_export($keypair, $private_key);
if ($private_key) {
echo "Private key successfully exported\n";
} else {
echo "Error exporting private key\n";
}
} else {
echo "Error generating key pair\n";
}
?>
输出:
Private key successfully exported
参考:https://www.php.net/manual/en/function.openssl-pkey-new.php
相关用法
- PHP openssl_pkey_new()用法及代码示例
- PHP openssl_pkey_get_public()用法及代码示例
- PHP openssl_pkey_export_to_file()用法及代码示例
- PHP openssl_pkey_export()用法及代码示例
- PHP openssl_pkcs12_read()用法及代码示例
- PHP openssl_pkcs12_export_to_file()用法及代码示例
- PHP openssl_pkcs12_export()用法及代码示例
- PHP openssl_private_encrypt()用法及代码示例
- PHP openssl_public_encrypt()用法及代码示例
- PHP openssl_public_decrypt()用法及代码示例
- PHP openssl_private_decrypt()用法及代码示例
- PHP openssl_pbkdf2()用法及代码示例
- PHP openssl_get_cipher_methods()用法及代码示例
- PHP openssl_cipher_iv_length()用法及代码示例
- PHP openssl_get_cert_locations()用法及代码示例
- PHP openssl_get_curve_names()用法及代码示例
- PHP openssl_spki_verify()用法及代码示例
- PHP openssl_spki_export_challenge()用法及代码示例
- PHP openssl_digest()用法及代码示例
- PHP openssl_error_string()用法及代码示例
- PHP openssl_verify()用法及代码示例
- PHP openssl_get_md_methods()用法及代码示例
- PHP openssl_cipher_key_length()用法及代码示例
- PHP opendir()用法及代码示例
- PHP octdec()用法及代码示例
注:本文由纯净天空筛选整理自neeraj3304大神的英文原创作品 PHP openssl_pkey_new() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。