Назад | Перейти на главную страницу

Есть ли проблемы с использованием «openssl ca»?

Я пытаюсь создать частные центры сертификации и видел много руководств, использующих openssl ca команда для выполнения задачи. Однако в страница руководства, Я вижу эти строки:

образец минимального приложения CA

Утилита ca изначально задумывалась как пример того, как что-то делать в CA. Его не планировалось использовать как полноценный СА: тем не менее некоторые люди используют его для этой цели.

Похоже, команда не должна использоваться для выполнения задач CA.

Итак, мои вопросы:

  1. Есть ли проблемы с использованием openssl caили эти строки просто описывают какие-то исторические корни?
  2. Каков предпочтительный способ создания частных центров сертификации, если они есть?

На техническом уровне база данных текстовых файлов, используемая OpenSSL, не допускает одновременный доступ, что может подвергнуть вашу базу данных риску.

Когда вы используете любое программное обеспечение для подписи сертификата, вы просто применяете функцию к запросу на подпись сертификата. В результате получается сертификат. Независимо от того, какое программное обеспечение вы используете для этого, результат будет в том же формате - сертификат X509.

Для запуска центра сертификации необходимо, чтобы вы могли убедить доверяющие стороны в том, что подписываемые вами сертификаты заслуживают доверия. В частности, когда вы подписываете сертификат, вы подтверждаете, что, насколько вам известно, закрытый ключ принадлежит объекту, указанному в сертификате, а не другому объекту. Поэтому доверяющие стороны должны иметь возможность доверять тому, что названное лицо - это то, кем / чем они себя называют, а не другое.

Чтобы управлять центром сертификации и завоевать доверие доверяющих сторон, вам нужно сделать гораздо больше, чем просто подписать сертификат. Например, вам потребуется:

  • Сохраните транзакцию в базе данных
  • Убедитесь, что запрашивающая сторона содержит закрытый ключ в паре с открытым ключом в запросе сертификата.
  • Убедитесь, что только у вас есть доступ к закрытому ключу подписи, используемому для подписи запроса.
  • Убедитесь, что ваш ЦС работает с уполномоченными лицами.
  • Записывайте все транзакции, чтобы их можно было проверить
  • Определите процессы запроса, отзыва, обновления сертификатов и т. Д.
  • Здесь гораздо больше - прочтите RFC 3647 - Политика сертификатов инфраструктуры открытых ключей Internet X.509 и структура практик сертификации для представления о том, что требуется

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

К сожалению, хотя OpenSSL с радостью создаст сертификат для вас, он терпит неудачу во всех остальных точках - например, нет контроля доступа, не хранит транзакции в проверяемом журнале и т. Д. Между тем программное обеспечение, специально написанное для этой задачи, учитывает множество дополнительных требований, необходимых для работы надежного центра сертификации.

Подводя итог - если вы играете, не стесняйтесь использовать OpenSSL; если тебе надо доверять, используйте что-нибудь получше.