<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://cadrspace.ru/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Test</id>
		<title>CADR - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://cadrspace.ru/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Test"/>
		<link rel="alternate" type="text/html" href="https://cadrspace.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Test"/>
		<updated>2026-06-17T04:04:53Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://cadrspace.ru/w/index.php?title=Let%27s_Encrypt&amp;diff=1477</id>
		<title>Let's Encrypt</title>
		<link rel="alternate" type="text/html" href="https://cadrspace.ru/w/index.php?title=Let%27s_Encrypt&amp;diff=1477"/>
				<updated>2026-06-10T21:49:35Z</updated>
		
		<summary type="html">&lt;p&gt;Test: /* Клиенты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Клиенты ==&lt;br /&gt;
Взаимодействие с сервером Let's Encrypt происходит посредством протокола ACME.  Кроме официального клиента [https://github.com/letsencrypt/letsencrypt letsencrypt] существует большое количество сторонних реализаций.  Список клиентов Let's Encrypt можно посмотреть на странице [https://community.letsencrypt.org/t/list-of-client-implementations/2103 List of Client Implementations]..&lt;br /&gt;
&lt;br /&gt;
== Пример использования ==&lt;br /&gt;
Здесь мы рассмотрим получение сертификата через клиент [https://github.com/Neilpang/le le], написанный на Bash.&lt;br /&gt;
&lt;br /&gt;
Предполагается, что сервер работает под [[операционная система::Ubuntu 14.04]], используется nginx в качестве web-сервера, и действия выполняются от root'а.&lt;br /&gt;
&lt;br /&gt;
Во-первых, мы должны склонировать репозиторий -- допустим, в каталог &amp;lt;code&amp;gt;/opt/le&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
  $ git clone https://github.com/Neilpang/le.git /opt/le&lt;br /&gt;
&lt;br /&gt;
Далее необходимо выполнить установку:&lt;br /&gt;
&lt;br /&gt;
  $ cd /opt/le&lt;br /&gt;
  $ ./le.sh install&lt;br /&gt;
&lt;br /&gt;
Установщик создаёт каталог &amp;lt;code&amp;gt;~/.le&amp;lt;/code&amp;gt; и копирует в него &amp;lt;code&amp;gt;le.sh&amp;lt;/code&amp;gt;, создаёт символьную ссылку &amp;lt;code&amp;gt;/bin/le -&amp;gt; ~/.le/le.sh&amp;lt;/code&amp;gt; и добавляет в cron текущего пользователя (в нашем случае, root'а) задание по проверке сертификата и обновления его, если это требуется.&lt;br /&gt;
&lt;br /&gt;
Теперь мы можем получить наш сертификат:&lt;br /&gt;
&lt;br /&gt;
  # Название домена, для которого необходим сертификат:&lt;br /&gt;
  $ export DOMAIN=example.ru&lt;br /&gt;
&lt;br /&gt;
  # Длина ключа:&lt;br /&gt;
  $ export KEY_LEN=2048&lt;br /&gt;
&lt;br /&gt;
  # Путь к файлу сертификата (публичного ключа):&lt;br /&gt;
  $ export CERT_FILE_PATH=/etc/ssl/certs/${DOMAIN}.cert&lt;br /&gt;
&lt;br /&gt;
  # Путь к файлу (закрытого) ключа:&lt;br /&gt;
  $ export KEY_FILE_PATH=/etc/ssl/private/${DOMAIN}.key&lt;br /&gt;
&lt;br /&gt;
  # Путь к сертификату центра сертификации Let's Encrypt:&lt;br /&gt;
  $ export CA_CERT_FILE_PATH=/etc/ssl/certs/ca-letsencrypt.cert&lt;br /&gt;
&lt;br /&gt;
  # Команда перезапуска web-сервера (выполняется после обновления&lt;br /&gt;
  # сертификата, скажем, по cron'у):&lt;br /&gt;
  $ export RELOAD_CMD=&amp;quot;service nginx restart&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  $ le issue no \&lt;br /&gt;
      $DOMAIN $DOMAIN $KEY_LEN \&lt;br /&gt;
      $CERT_FILE_PATH \&lt;br /&gt;
      $KEY_FILE_PATH \&lt;br /&gt;
      $CA_CERT_FILE_PATH \&lt;br /&gt;
      $RELOAD_CMD&lt;br /&gt;
&lt;br /&gt;
Таким образом, после работы программы мы получим три файла:&lt;br /&gt;
* В каталоге &amp;lt;code&amp;gt;/etc/ssl/certs/&amp;lt;/code&amp;gt; -- подписанный публичный ключ (сертификат) &amp;lt;code&amp;gt;example.ru.cert&amp;lt;/code&amp;gt; и публичный ключ (сертификат) центра сертификации &amp;lt;code&amp;gt;ca-letsencrypt.cert&amp;lt;/code&amp;gt;.&lt;br /&gt;
* В каталоге &amp;lt;code&amp;gt;/etc/ssl/private/&amp;lt;/code&amp;gt; -- приватный (закрытый) ключ &amp;lt;code&amp;gt;example.ru.key&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Также эти ключи находятся в каталоге &amp;lt;code&amp;gt;~/.le&amp;lt;/code&amp;gt;, откуда они и копируются в вышеуказанные каталоги.&lt;br /&gt;
&lt;br /&gt;
== Gentoo Way ==&lt;br /&gt;
* С недавних пор официальный клиент Let's Encrypt переименован в &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt; -- см. пакет &amp;lt;code&amp;gt;app-crypt/certbot&amp;lt;/code&amp;gt; в портежах. -- [[Участник:Avp|Avp]] ([[Обсуждение участника:Avp|обсуждение]]) 21:44, 14 июня 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
Здесь мы рассмотрим установку и использование официальной утилиты &amp;lt;code&amp;gt;letsencrypt&amp;lt;/code&amp;gt; на [https://wiki.gentoo.org/wiki/Project:Hardened Hardened Gentoo GNU/Linux] и web-сервером [http://www.lighttpd.net/ lighttpd].&lt;br /&gt;
&lt;br /&gt;
Как будет видно далее, &amp;quot;особенностей&amp;quot; при установке обнаруживается не так много, и даже [http://stopdisablingselinux.com/ не нужно отключать SELinux].  Начнём с того, что в случае с Gentoo в портежах уже есть все необходимые утилиты, так что шаг &amp;quot;ожидание ebuild'ов&amp;quot; можно пропустить:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ eix letsencrypt&lt;br /&gt;
[I] app-crypt/letsencrypt&lt;br /&gt;
     Available versions:  (~)0.4.2 **9999 {test PYTHON_TARGETS=&amp;quot;python2_7&amp;quot;}&lt;br /&gt;
     Installed versions:  0.4.2(21:49:00 03/10/16)(-test PYTHON_TARGETS=&amp;quot;python2_7&amp;quot;)&lt;br /&gt;
     Homepage:            https://github.com/letsencrypt/letsencrypt https://letsencrypt.org/&lt;br /&gt;
     Description:         Let's encrypt client to automate deployment of X.509 certificates&lt;br /&gt;
&lt;br /&gt;
* app-crypt/letsencrypt-apache&lt;br /&gt;
     Available versions:  **9999 {test PYTHON_TARGETS=&amp;quot;python2_7&amp;quot;}&lt;br /&gt;
     Homepage:            https://github.com/letsencrypt/letsencrypt https://letsencrypt.org/&lt;br /&gt;
     Description:         Apache plugin for letsencrypt&lt;br /&gt;
&lt;br /&gt;
Found 2 matches.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ставится стандартным способом:&lt;br /&gt;
&lt;br /&gt;
  $ emerge -aq --autounmask-write letsencrypt&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Размаскируем&amp;quot; пакет и предложенные зависимости (к примеру, через &amp;lt;code&amp;gt;etc-update&amp;lt;/code&amp;gt;), запускаем приведённую выше команду по-новой, ждём установки.  Пакет поставит за собой необходимые зависимости (к примеру, &amp;lt;code&amp;gt;app-crypt/acme&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
Останавливаем web-сервер (в моём случае, &amp;lt;code&amp;gt;lighttpd&amp;lt;/code&amp;gt;), чтобы освободить порт 80:&lt;br /&gt;
&lt;br /&gt;
  $ rc-config stop lighttpd&lt;br /&gt;
&lt;br /&gt;
Запускаем операцию получения ключа:&lt;br /&gt;
&lt;br /&gt;
  $ letsencrypt certonly&lt;br /&gt;
&lt;br /&gt;
и отвечаем на задаваемые утилитой вопросы.  Данная команда выполнит только операцию получения сертификата, без его установки в web-сервер.  Ключи будут сохранены в каталог &amp;lt;code&amp;gt;/etc/letsencrypt/archive/example.org&amp;lt;/code&amp;gt;, симлинки на них брошены в &amp;lt;code&amp;gt;/etc/letsencrypt/live/example.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для &amp;lt;code&amp;gt;lighttpd&amp;lt;/code&amp;gt; придётся сделать дополнительный шаг: склеить приватный ключ и публичный сертификат в один файл:&amp;lt;ref&amp;gt;https://nwgat.ninja/setting-up-letsencrypt-with-lighttpd/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  $ cd /etc/letsencrypt/archive/example.org/&lt;br /&gt;
  $ cat privkey1.pem cert1.pem &amp;gt; ssl1.pem&lt;br /&gt;
  $ ln -s /etc/letsencrypt/archive/example.org/ssl1.pem /etc/letsencrypt/live/example.org/&lt;br /&gt;
&lt;br /&gt;
Далее прописываем путь к вашему ключу в конфигурационный файл &amp;lt;code&amp;gt;lighttpd&amp;lt;/code&amp;gt;.  К примеру, кусок &amp;lt;code&amp;gt;/etc/lighttpd/lighttpd.conf&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$SERVER[&amp;quot;socket&amp;quot;] == &amp;quot;:443&amp;quot; {&lt;br /&gt;
    ssl.engine   = &amp;quot;enable&amp;quot;                           &lt;br /&gt;
    ssl.pemfile  = &amp;quot;/etc/letsencrypt/live/example.org/ssl1.pem&amp;quot;&lt;br /&gt;
    ssl.ca-file  = &amp;quot;/etc/letsencrypt/live/example.org/fullchain.pem&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Перезапускаем web-сервер:&lt;br /&gt;
&lt;br /&gt;
  $ rc-config start lighttpd&lt;br /&gt;
&lt;br /&gt;
Открываем сайт в браузере и любуемся результатом.  :-)  -- [[Участник:Avp|Avp]] ([[Обсуждение участника:Avp|обсуждение]]) 19:00, 14 марта 2016 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Получение информации о подписанном сертификате ==&lt;br /&gt;
Получить информацию о подписанном сертификате можно следующим образом:&lt;br /&gt;
&lt;br /&gt;
  $ openssl x509 -in $CERT_FILE_PATH -text&lt;br /&gt;
&lt;br /&gt;
== Сноски ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:База знаний]]&lt;/div&gt;</summary>
		<author><name>Test</name></author>	</entry>

	</feed>