From c5e9b245012a5a1ac1732b2c94fc89d9e760efe3 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 2 Aug 2023 13:21:15 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=BE=D0=B4=D0=BF=D0=B8=D1=81=D1=8C=20?= =?utf8?q?=D0=B1=D0=B5=D0=B7=20OpenPGP,=20signify/minisign,=20ssh-keygen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit http://www.ca.cypherpunks.ru/ Недавно подписал, просто ради интереса попользоваться утилитами, X.509 CA сертификат не только OpenPGP, но и minisign-ом и OpenSSH-ем. minisign приятен тем, кроме минималистичности, что его подпись совместима и с signify утилитой, входящей в состав OpenBSD. Просто тупо подпись, без ада структур и сложностей OpenPGP. Даже вариативности работы то толком никакой нет у утилиты, что хорошо. Как минимум, в OpenBSD, ничего дополнительно из софта ставить не надо будет для проверки этих подписей (ну кроме копирования 1-2 строчных публичных ключей). ssh-keygen (e6184094fc1f16c6d0648dfb62b02e95c15b4136) из OpenSSH может подписывать произвольные данные. Публичный ключ занимает, аналогично как в authorized_keys, одну строчку. В подписи необходимо указывать namespace, что вообще очень здорово и правильно: современные хэши из коробки в своём API позволяют задавать application-context. Я тоже во всех проектируемых форматах/алгоритмах/протоколах всегда добавляю контекст (хотя бы просто добавляя строчку при хэшировании). Формат подписи чуть сложнее: содержит ещё и идентификатор хэша, namespace и публичный ключ. Приятно решение тем, что OpenSSH из коробки и в BSD и в GNU/Linux-ах, как правило, имеется. -- 2.50.0