Как творить.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 требуется экспресс?
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 лет) и пару ключей, которые вы можете использовать в опубликованном фрагменте кода.
просто выполните следующую процедуру :
создайте папку, в которой вы хотите сохранить свой ключ и сертификат:
mkdir conf
перейдите в этот каталог:
cd conf
возьмите это
ca.cnfфайл для использования в качестве ярлыка конфигурации :
wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf
создайте новый центр сертификации с помощью этой конфигурации:
openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem
теперь у нас есть наш центр сертификации в
ca-key.pemиca-cert.pem, давайте создадим закрытый ключ для сервера :
openssl genrsa -out key.pem 4096
возьмите это
server.cnfфайл для использования в качестве ярлыка конфигурации :
wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf
сгенерируйте запрос подписи сертификата, используя эту конфигурацию:
openssl req -new -config server.cnf -key key.pem -out csr.pem
подписать запрос :
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