从私钥生成 CSR 密钥



我需要从私钥/证书生成 CSR 密钥

执行此操作时出现错误

openssl_csr_new((: dn: add_entry_by_NID 48 ->(失败;检查错误( 如果非法字符,则string_mask OpenSSL 选项的队列和值 报告( 测试.php(33(

$dn = [
'commonName'            => '123@-1552-21',// 'func_id@activationcode',
'organizationalUnitName'=> 'test',
'organizationName'      => 'test',
'localityName'          => 'DK',
'stateOrProvinceName'   => 'DK',
'countryName'           => 'DK',
'emailAddress'          => ''
];
$csr = [
'private_key_bits'  => 2048,
'private_key_type'  => OPENSSL_KEYTYPE_RSA,
'encrypt_key'       => true
];
$private_key = openssl_pkey_get_private('./1_0010444508001.pem');
$csr = openssl_csr_new($dn, $private_key, [
'digest_alg' => 'sha256'
]);
openssl_csr_export($csr, $csrout);
openssl_pkey_export($private_key, $pkeyout, '');
echo $csrout . "n" . $pkeyout;

openssl_csr_new((: dn: add_entry_by_NID 48 -> (失败;如果报告非法字符,请检查错误队列和 OpenSSL 选项string_mask值( 测试.php(33(

问题不在于私钥,而在于dn。它抱怨将带有NID 48的属性添加到CSR时出现问题。NID 48 是电子邮件地址的 NID,因此它抱怨此字段的内容。看起来它不应该是空的。

最新更新