使用OpenSSL时,WAMP无法生成私钥

时间:2016-03-17 04:37:49

标签: php openssl wamp

我正在使用Windows 8.1中的OpenSSL,Wamp Apache版本:2.4.9 PHP版本:5.5.12。我最终得到了以下错误:

an article

我的PHP代码如下。 WAMP无法生成私钥。

drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
 TextView t = (TextView)drawerLayout.findViewById(R.id.name);

任何人都可以帮我在Windows中运行OpenSSL。 提前致谢。

2 个答案:

答案 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_CONF环境变量设置为c:\wamp\bin\apache\apache2.4.9\conf\openssl.cnf