Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
mkchain — Инструмент с открытым исходным кодом, помогающий создать корректную цепочку SSL-сертификатов. | Kitploit
Инструменты/GitHubGitHub/trimstray/mkchain
Инструменты шифрования/дешифрованияКриптографияУтилиты и фреймворки
GitHubtrimstray/mkchain

mkchain

Инструмент с открытым исходным кодом, помогающий создать корректную цепочку SSL-сертификатов.

Репозиторий
38152191 год назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

mkchain

Инструмент с открытым исходным кодом, который поможет вам собрать корректную цепочку SSL-сертификатов.

Travis-CI Version License

Описание • Как использовать • Параметры • Как это работает • Требования • Прочее • Лицензия


Главная

Описание

Это инструмент с открытым исходным кодом, который поможет вам собрать корректную цепочку SSL-сертификатов. Также он может помочь исправить неполную цепочку и загрузить все недостающие сертификаты центра сертификации. Вы также можете загрузить все сертификаты с удаленного сервера и получить правильную цепочку сертификатов.

Как использовать

Это просто:

# Clone this repository
git clone https://github.com/trimstray/mkchain

# Go into the repository
cd mkchain

# Install
./setup.sh install

# Run the app
mkchain -i /data/certs -o /data/chain.crt
  • символическая ссылка на bin/mkchain помещается в /usr/local/bin
  • страница man помещается в /usr/local/man/man8

Параметры

Предоставляет следующие параметры:

  Usage:
    mkchain <option|long-option>

  Examples:
    mkchain --in Root.crt --in Intermediate1.crt --in Server.crt --out bundle_chain_certs.crt
    mkchain --in /tmp/certs --out bundle_chain_certs.crt --with-root
    mkchain -i Server.crt -o bundle_chain_certs.crt
    mkchain -i https://incomplete-chain.badssl.com/ --with-root

  Options:
        --help        show this message
        --debug       displays information on the screen (debug mode)
    -i, --in          add certificates to merge (file, multiple files, directory with ssl certificates
                      or remote domain)
    -o, --out         saves the result (chain) to a file
        --with-root   add root certificate to certificates chain

-o|--out - без этого параметра mkchain сохраняет выходную цепочку в каталог mkchain/chains/.

Как это работает

Прежде чем читать, пожалуйста, ознакомьтесь со статьей о цепочке SSL-сертификатов.

Начнем с цепочки сертификатов ssllabs. Они поставляются вместе с mkchain и находятся в каталоге example/ssllabs.com, который дополнительно содержит каталог all (содержащий все сертификаты, необходимые для сборки цепочки) и каталог server_certificate (содержащий только сертификат сервера).

Правильная цепочка для домена ssllabs.com (результат команды openssl):

Certificate chain
 0 s:/C=US/ST=California/L=Redwood City/O=Qualys, Inc./CN=ssllabs.com
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
 1 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
 2 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
   i:/C=US/O=Entrust, Inc./OU=www.entrust.net/CPS is incorporated by reference/OU=(c) 2006 Entrust, Inc./CN=Entrust Root Certification Authority

Выше показана полная цепочка, состоящая из:

  • Сертификат личности (сертификат сервера)

    выдан для ssllabs.com центром Entrust Certification Authority - L1K

  • Промежуточный сертификат

    выдан для Entrust Certification Authority - L1K центром Entrust Root Certification Authority - G2

  • Промежуточный сертификат

    выдан для Entrust Root Certification Authority - G2 центром Entrust Root Certification Authority

  • Корневой сертификат (самоподписанный сертификат)

    выдан для Entrust Root Certification Authority центром Entrust Root Certification Authority

Сценарий 1

В этом сценарии мы объединим все поставленные сертификаты. Пример запуска инструмента:

Master

Сценарий 2

В этом сценарии мы используем только сертификат сервера и используем его для получения остальных необходимых сертификатов. Затем, как указано выше, мы объединим все предоставленные сертификаты. Пример запуска инструмента:

Master

Цепочка сертификатов

Чтобы создать корректную цепочку, вы должны предоставить инструменту все необходимые сертификаты (если вы установили каталог для параметра -i|--in). Это будут:

  • Сертификат сервера
  • Промежуточные центры сертификации и Корневые центры сертификации

Это очень важно, потому что без них вы не сможете определить начало и конец цепочки.

Если вы укажете только файл сертификата в качестве значения -i|--in, mkchain автоматически загрузит все необходимые сертификаты.

Однако, если вы заглянете внутрь сгенерированной цепочки после генерации с помощью mkchain, вы не найдете там корневого сертификата.

Почему? Потому что самоподписанные корневые сертификаты не нужно/не следует включать в конфигурацию веб-сервера. Они не приносят пользы (клиенты всегда будут их игнорировать) и вызывают небольшое снижение производительности (задержка), поскольку увеличивают размер SSL-рукопожатия.

Если вы хотите добавить корневой сертификат в цепочку сертификатов, вызовите утилиту с параметром --with-root.

Пути сертификации

mkchain позволяет использовать два пути сертификации:

Master

Комментарии к выводу

При генерации цепочки сертификатов mkchain отображает комментарии с информацией о сертификатах, включая любые ошибки.

Вот список всех возможностей:

сертификат личности (пользовательский, серверный) не найден

Сообщение отображается при отсутствии сертификата сервера, который является началом цепочки. Это уникальный случай, потому что в этой ситуации mkchain завершает свою работу, отображая только эту информацию. Сертификат сервера — единственный сертификат, необходимый для правильного создания цепочки. Без этого сертификата корректная цепочка не будет создана.

найден корректный сертификат личности (пользовательский, серверный)

Обратная ситуация — сообщение отображается при обнаружении действительного сертификата сервера.

первый промежуточный сертификат не найден

Скачать инструмент