В настоящее время я пишу скрипт для генерации 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" => 'IT@example.com', "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?
Мне удалось решить эту проблему, создав временную копию моего файла subjectAltName
линией subjectAltName
введенной в нее. Затем эту конфигурацию можно загрузить, установив $config_args['config'] = $temporaryfilepath