В настоящее время я пишу скрипт для генерации CSR через веб-интерфейс для отправки для генерации сертификата. Моя текущая проблема заключается в том, что я хочу сгенерировать сертификат SAN, но не могу найти информацию о том, как добавить subjectAlternateName
в сгенерированный запрос сертификата.
Мой текущий код:
$private_key = openssl_pkey_new( array( 'private_key_bits' => 2048 ) );
$domain_data = [
"countryName" => 'GB',
"stateOrProvinceName" => 'Countyname',
"localityName" => 'townname',
"organizationName" => 'Company ltd.',
"organizationalUnitName" => "IT",
"emailAddress" => '[email protected]',
"commonName" => 'example.com',
];
$config_args = ['private_key_bits' => 2048];
$attributes = [];
$csr = openssl_csr_new( $domain_data, $private_key, $config_args, $attributes );
openssl_csr_export( $csr, $csr_out );
Добавление subjectAlternateName
в $domain_data
массив, кажется, не добавляет ничего в CSR, когда я анализирую это позже.
Возможно ли сделать это напрямую в PHP?
Мне удалось решить эту проблему путем создания временной копии моего openssl.cnf
файл с subjectAltName
линия вводится в него. Затем этот конфиг можно загрузить, установив $config_args['config'] = $temporaryfilepath
Других решений пока нет …