Пред: gpg-wks-client, Вверх: Сетевая служба ключей [Содержание][Указатель]
gpg-wks-server
— реализация сервера сетевой службы
ключей. Программа получает запросы на публикацию, отправляет запросы на
подтверждение, получает подтверждения и публикует ключ. В ней есть также
средства облегчения настройки и ведения сетевого каталога ключей.
При запуске с командой --receive, обрабатывается отдельное сообщение сетевой службы ключей. Обычно эта команда применяется с параметром --send, чтобы напрямую отправлять ответные сообщения. Пример установки см. ниже.
Команда --cron служит для регламентных работ. Например, неподтвержденные просроченные запросы удаляются. Эту команду рекомендуется выполнять раз в день из cron.
Команда --list-domains выводит все настроенные домены. Далее, она создает недостающие каталоги настроек, выводя предупреждения о проблемах в настройках.
Команда --check-key (или просто --check) проверяет, записан ли ключ с данным идентификатором пользователя в каталоге. В этом случае процесс возвращает код успешного завершения; чтобы дополнительно выводить диагностику, воспользуйтесь параметром -v. Если ключ не записан, выводится диагностическое сообщение, а процесс завершается с кодом ошибки; чтобы подавить диагностическое сообщение, воспользуйтесь параметром -q. Можно задавать более одного идентификатора пользователя; см. также параметр --with-file.
Команда --install-key записывает ключ в сетевой каталог вручную. Аргументы — файл с блоком ключа и идентификатор пользователя, который нужно записать. Если первый аргумент похож на отпечаток, ключ извлекается из текущей связки ключей; чтобы избежать этого, приписывайте к первому аргументу «./».
Команда --remove-key удаляет ключ из сетевого каталога. В этом случае процесс возвращает код успешного завершения; чтобы дополнительно выводить диагностику, воспользуйтесь параметром -v. Если ключ не записан, выводится диагностическое сообщение, а процесс завершается с кодом ошибки; чтобы подавить диагностическое сообщение, воспользуйтесь параметром -q.
Команда --revoke-key пока не функционирует.
gpg-wks-server
распознает параметры:
--from адрес почты
Принять адрес почты как основной адрес отправителя.
--header имя=значение
Добавлять заголовок «имя: значение» ко всем исходящим сообщениям.
--send
Напрямую отправлять созданные сообщения по почте командой
sendmail
. Требует, чтобы эта программа была установлена.
--output файл
-o
Записать созданный файл также в файл. Если в качестве параметра задано
-
, запись будет производиться в стандартный поток вывода.
--with-dir
Выводить также имя каталога для каждого домена, перечисляемого командой --list-domains.
--with-file
При работе команды --check-key выводить для каждого идентификатора пользователя адрес, «i», если ключ записан или «n», если нет, а также имя файла.
--verbose
Включить вывод дополнительной информации.
--quiet
Отключить вывод почти всей информации.
--version
Вывести версию программы и завершиться.
--help
Вывести краткую справку и завершиться.
Для сетевой службы ключей нужен рабочий каталог, где она хранит ключи, ожидающие публикации. Создайте рабочий каталог из-под учетной записи суперпользователя:
# mkdir /var/lib/gnupg/wks # chown webkey:webkey /var/lib/gnupg/wks # chmod 2750 /var/lib/gnupg/wks
Затем из-под учетной записи webkey создайте каталоги для всех своих доменов. Здесь это делается для example.net:
$ mkdir /var/lib/gnupg/wks/example.net
Наконец, запустите
$ gpg-wks-server --list-domains
для создания требуемых подкаталогов с правильными атрибутами доступа. Для каждого домена нужно задать служебный адрес для запросов. Все сообщения службы будут направляться на этот адрес. Этот адрес может быть единым для всех настроенных доменов, например:
$ cd /var/lib/gnupg/wks/example.net $ echo key-submission@example.net >submission-address
Протокол требует, чтобы ключ для публикации присылался в службу в зашифрованном сообщении. Таким образом, нужно создать ключ для служебного адреса:
$ gpg --batch --passphrase '' --quick-gen-key key-submission@example.net $ gpg -K key-submission@example.net
Вывод последней команды выглядит так:
sec rsa2048 2016-08-30 [SC] C0FCF8642D830C53246211400346653590B3795B uid [ultimate] key-submission@example.net ssb rsa2048 2016-08-30 [E]
Скопируйте отпечаток из этого вывода и опубликуйте ключ вручную:
$ gpg-wks-server --install-key C0FCF8642D830C53246211400346653590B3795B \ > key-submission@example.net
Наконец, этот служебный адрес нужно перенаправить на сценарий, запускающий
gpg-wks-server
. Для этого можно воспользоваться командой
procmail
: перенаправить служебный адрес на пользователя «webkey» и
записать в его .procmailrc:
:0 * !^From: webkey@example.net * !^X-WKS-Loop: webkey.example.net |gpg-wks-server -v --receive \ --header X-WKS-Loop=webkey.example.net \ --from webkey@example.net --send
Пред: gpg-wks-client, Вверх: Сетевая служба ключей [Содержание][Указатель]