小编Rol*_*and的帖子

OpenSSL真的需要openssl.conf的路径吗?

我想在PHP 5.x中创建一个自签名证书.使用我自己的(替代)openssl配置,应该由我的PHP代码定义.PHP脚本将在不同的环境(共享托管Web服务器)上运行.

官方PHP手册说:

默认情况下,系统openssl.conf中的信息用于初始化请求; 您可以通过设置configargs的config_section_section键来指定配置文件部分.您还可以通过将config键的值设置为要使用的文件的路径来指定备用openssl配置文件.如果configargs中存在以下键,则表现为openssl.conf中的等效键,如下表所示.....

我的问题:我有必要明确指定openssl.conf的路径,因为没有它它似乎工作正常:

$Configs = array(       
    'digest_alg' => 'sha1',
    'x509_extensions' => 'v3_ca',
    'req_extensions' => 'v3_req',
    'private_key_bits' => 1024,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
    'encrypt_key' => true,
    'encrypt_key_cipher' => OPENSSL_CIPHER_3DES
);

$privkey = openssl_pkey_new();
$csr = openssl_csr_new($dn, $privkey, $Configs);
$sscert = openssl_csr_sign($csr, null, $privkey, 365, $Configs);
Run Code Online (Sandbox Code Playgroud)

编辑:

PHP手册的用户贡献说明中,为什么他们总是指定openssl.cnf的路径?例如:

$configargs = array(
    'config' => '/etc/ssl/openssl.cnf',
    'digest_alg' => 'md5',
    'x509_extensions' => 'v3_ca',
    'req_extensions'   => 'v3_req',
    'private_key_bits' => 666,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
    'encrypt_key' => false, …
Run Code Online (Sandbox Code Playgroud)

php openssl certificate x509

15
推荐指数
2
解决办法
9936
查看次数

标签 统计

certificate ×1

openssl ×1

php ×1

x509 ×1