1、安装open_ssl
安装很简单,直接打开php.ini,去掉php_openssl前面的注释即可。
注意,还需要配置openssl.cnf
先看下这段代码:
$res = openssl_pkey_new();
//$res = openssl_pkey_new($configargs);
// Get private key
openssl_pkey_export($res, $privkey);
// Get public key
$pubkey = openssl_pkey_get_details($res);
$pubkey = $pubkey["key"];
var_dump($pubkey);
如果没有配置openssl.cnf,在创建 public/private key 的时候会出现类似以下的问题
Warning: openssl_pkey_export() [function.openssl-pkey-export]: cannot get key from parameter
2、配置openssl.cnf(具体参考php的官方文档,这里主要是大部分没注意或者忽略了。)
http://php.sinaapp.com/manual/zh/openssl.installation.php
还有注意查看php目录,例如我的php安装在d盘,那么查看
D:/php/extras/openssl/openssl.cnf
还有注意此目录下的一个readme-ssl.txt的一段代码,
$configargs = array(
"config" => "path/to/openssl.cnf"
);
$pkey = openssl_pkey_new($config);
看下修改后的代码:
$configargs = array(
"config" => "D:/php/extras/openssl/openssl.cnf"
);
//$res = openssl_pkey_new();
$res = openssl_pkey_new($configargs);
// Get private key
openssl_pkey_export($res, $privkey);
// Get public key
$pubkey = openssl_pkey_get_details($res);
$pubkey = $pubkey["key"];
var_dump($pubkey);
可以了。
更多内容可以去了解下关于设置证书的部分。