Как творить.PEM-файлы для веб-сервера https



Я использую Экспресс-фреймворк в узле.JS для создания веб-сервера. Я хочу, чтобы транспорт был основан на SSL.



код для создания веб-сервера https, как показано ниже.



var app = express.createServer({
key: fs.readFileSync('./conf/key.pem'),
cert: fs.readFileSync('./conf/cert.pem')
});
module.exports = app;


вопрос: Как создать ключ.pem и cert.pem требуется экспресс?

792   2  

2 ответов:

файлы нужны в формате PEM сертификат SSL и закрытый ключ. PEM-кодированные сертификаты и ключи-это кодированный текст Base64 с начальными / конечными разделителями, которые выглядят как -----BEGIN RSA PRIVATE KEY----- или аналогичные.

чтобы создать сертификат SSL, вам сначала нужно создать закрытый ключ и запрос на подпись сертификата или CSR (который также содержит ваш открытый ключ).Вы можете сделать это различными способами, но вот как в OpenSSL.

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem

Это заставит вас ввести интерактивное приглашение для создания 2048-битного закрытого ключа RSA и CSR, который содержит всю информацию, которую вы выбираете для ввода в приглашениях. (Примечание: общее имя-это место, где вы хотите разместить доменное имя, которое вы будете использовать для доступа к вашему сайту.) как только вы это сделаете, вы обычно отправляете этот CSR в доверенный центр сертификации, и как только они подтвердят ваш запрос, вы получите сертификат.

Если вы не заботитесь о сертификате доверия (обычно дело в целях разработки) можно просто создать самозаверяющий сертификат. Для этого мы можем использовать почти одну и ту же строку, но передадим два дополнительных параметра.

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Это даст вам сертификат (действительный в течение 10 лет) и пару ключей, которые вы можете использовать в опубликованном фрагменте кода.

просто выполните следующую процедуру :

  1. создайте папку, в которой вы хотите сохранить свой ключ и сертификат:

    mkdir conf


  1. перейдите в этот каталог:

    cd conf


  1. возьмите это ca.cnf файл для использования в качестве ярлыка конфигурации :

    wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf


  1. создайте новый центр сертификации с помощью этой конфигурации:

    openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem


  1. теперь у нас есть наш центр сертификации в ca-key.pem и ca-cert.pem, давайте создадим закрытый ключ для сервера :

    openssl genrsa -out key.pem 4096


  1. возьмите это server.cnf файл для использования в качестве ярлыка конфигурации :

    wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf


  1. сгенерируйте запрос подписи сертификата, используя эту конфигурацию:

    openssl req -new -config server.cnf -key key.pem -out csr.pem


  1. подписать запрос :

    openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem

я нашел эту процедуру здесь, наряду с дополнительной информацией о том, как их использовать сертификаты.

Comments

    Ничего не найдено.