генерировать ключ CSR из закрытого ключа

Мне нужно сгенерировать ключ CSR из закрытого ключа / сертификата

При этом я получаю ошибку

openssl_csr_new (): dn: add_entry_by_NID 48 -> (не удалось; проверьте ошибку
очередь и значение опции OpenSSL string_mask, если недопустимые символы
сообщается) test.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;

1

Решение

openssl_csr_new (): dn: add_entry_by_NID 48 -> (не удалось; проверьте очередь ошибок и значение опции string_mask OpenSSL, если сообщается о недопустимых символах) test.php (33)

Проблема не в закрытом ключе, а в dn, Он жалуется, что существует проблема с добавлением атрибута с NID 48 в CSR. NID 48 это NID для адреса электронной почты поэтому жалуется на содержимое этого поля. Похоже, он не должен быть пустым.

1

Другие решения

Других решений пока нет …