Как создать CSR в PHP?

Я пытаюсь создать CSR, используя расширение PHP и OpenSSL,
но когда я это делаю, это дает мне ошибку, которая говорит:

Не удалось сгенерировать закрытый ключ: ошибка: 2006D080: BIO. подпрограммы: BIO_new_file: такого файла нет

еще и php.ini редактируется правильно, я добавил extension=openssl.

Это мой код:

<?php

$dn = array(
    "countryName" => "US",
    "stateOrProvinceName" => "California",
    "localityName" => "San Francisco",
    "organizationName" => "My Company",
    "organizationalUnitName" => "IT",
    "commonName" => "mycompany.com",
    "emailAddress" => "[email protected]"
);

// Generate a new private (and public) key pair
$privkey = openssl_pkey_new(array(
    "private_key_bits" => 2048,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
));

if ($privkey === false) {
    die('Failed to generate private key: ' . openssl_error_string());
}

// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey);

if ($csr === false) {
    die('Failed to generate CSR: ' . openssl_error_string());
}

// Export the CSR as a string
$csrout = '';
if (!openssl_csr_export($csr, $csrout)) {
    die('Failed to export CSR: ' . openssl_error_string());
}

echo $csrout;

// Optionally, save the private key
$pkeyout = '';
if (!openssl_pkey_export($privkey, $pkeyout, 'your-passphrase')) {
    die('Failed to export private key: ' . openssl_error_string());
}
file_put_contents('private_key.pem', $pkeyout);

?>

Я использую Laragon в качестве веб-сервера.

Как я могу решить эту проблему?

@topaco, это хорошая новость, но теперь я хочу знать, в чем проблема в моей среде, во-вторых, я хочу развернуть этот проект на сервере хостингера, как я могу убедиться, что он будет работать?

momo 13.06.2024 08:37

@topaco я действительно просмотрел этот источник php.net/manual/en/openssl.requirements.php, но не смог его установить

momo 13.06.2024 08:39
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
3
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

проблема в том, что мне нужно установить OpenSSL в моей системе,

моя система — система Windows, то для ее установки мне нужно зайти на этот сайт:

Бинарные файлы OpenSSL

затем после этого выберите второй вариант в таблице:

это ссылка на него:

Второй выбор

затем после этого выберите завершенную версию OpenSSL:

после этого он загрузит установочную версию OpenSSL, просто установите ее, и все будет работать.

Спасибо

Другие вопросы по теме