我正在使用Windows 8.1中的OpenSSL,Wamp Apache版本:2.4.9 PHP版本:5.5.12。我最终得到了以下错误:
我的PHP代码如下。 WAMP无法生成私钥。
drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
TextView t = (TextView)drawerLayout.findViewById(R.id.name);
任何人都可以帮我在Windows中运行OpenSSL。 提前致谢。
答案 0 :(得分:2)
你的问题不是很具体,但我可以说你用错误的第四个参数来调用openssl_pkey_export
。它应该是带有config
键的数组,而不仅仅是字符串。 config
也需要openssl_pkey_new
密钥。
<?php
$privateKey = openssl_pkey_new([
'private_key_bits' => 384,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
'config' => 'C:/wamp/bin/apache/apache2.4.9/conf/openssl.cnf'
]);
openssl_pkey_export($privateKey, $privKey, null, [
'config' => 'C:/wamp/bin/apache/apache2.4.9/conf/openssl.cnf'
]);
$a_key = openssl_pkey_get_details($privateKey);
var_dump($privKey); // Just to test output
file_put_contents('keys/'.$username.'_public.key', $a_key['key']);
file_put_contents('keys/'.$username.'_private.key', $privKey);
openssl_free_key($privateKey);
希望得到帮助
答案 1 :(得分:0)
我有类似的问题,我发现,WAMPserver没有安装默认CA.如何解决它:
[OpenSSL-Win64]\bin\PEM\demoCA\
复制到c:\wamp\bin\apache\apache2.4.9\conf\demoCA\
还要确保OPENSSL_CONF
环境变量设置为c:\wamp\bin\apache\apache2.4.9\conf\openssl.cnf