openssl创建密钥错误php
我尝试了以下代码openssl创建密钥错误php,php,openssl,key,Php,Openssl,Key,我尝试了以下代码 // Create the keypair $res=openssl_pkey_new(); // Get private key openssl_pkey_export($res, $privatekey); // Get public key $publickey=openssl_pkey_get_details($res); $publickey=$publickey["key"]; 但是我得到了这个错误 警告:openssl_pkey_export():无法从中的
// Create the keypair
$res=openssl_pkey_new();
// Get private key
openssl_pkey_export($res, $privatekey);
// Get public key
$publickey=openssl_pkey_get_details($res);
$publickey=$publickey["key"];
但是我得到了这个错误
警告:openssl_pkey_export():无法从中的参数1获取密钥。。。
警告:openssl_pkey_get_details()要求参数1是资源,布尔值在
我已经取消了对php.ini文件的注释。我签入phpinfo()时支持openssl。除了困惑。我不知道如何解决这个问题。请检查下面生成的消息
var_dump(openssl_error_string());
$res
应该是一种资源。这是openssl\u pkey\u new()
的返回。看。但它也可能是错误的
像您看到的错误通常意味着创建资源的函数(此处为openssl\u pkey\u new()
)失败。正如文件所说
成功时返回pkey的资源标识符,成功时返回FALSE
错误
因此,您需要检查错误。我不熟悉,但是openssl\u error\u string
看起来很有希望
以响应方式编辑:所以请回答问题。这似乎是你的问题。进程找不到您的openSSL配置文件。读这个
建议使用while循环读取所有错误消息,如链接中所述。如果是相同的错误,请按照说明操作。我认为您可能会更幸运地使用tbh。例如
默认情况下创建1024位密钥的。如果您需要在默认设置lmk之上或之外对其进行自定义。谢谢您的回答,这是结果字符串(51)“错误:020003:系统库:fopen:无此过程”谢谢您的回答,这是结果字符串(51)“错误:020003:系统库:fopen:无此过程”
<?php
include('Crypt/RSA.php');
$rsa = new Crypt_RSA();
extract($rsa->createKey());
echo "$publickey<br />$privatekey";
?>