From: Sergey Matveev Date: Wed, 2 Aug 2023 10:21:15 +0000 (+0300) Subject: Подпись без OpenPGP, signify/minisign, ssh-keygen X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=c5e9b245012a5a1ac1732b2c94fc89d9e760efe3;p=stargrave-blog.git Подпись без OpenPGP, signify/minisign, ssh-keygen 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-ах, как правило, имеется. ---