Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
openssl创建密钥错误php_Php_Openssl_Key - Fatal编程技术网

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";
?>