Я пытаюсь создать частные центры сертификации и видел много руководств, использующих openssl ca команда для выполнения задачи. Однако в страница руководства, Я вижу эти строки:
образец минимального приложения CA
Утилита ca изначально задумывалась как пример того, как что-то делать в CA. Его не планировалось использовать как полноценный СА: тем не менее некоторые люди используют его для этой цели.
Похоже, команда не должна использоваться для выполнения задач CA.
Итак, мои вопросы:
На техническом уровне база данных текстовых файлов, используемая OpenSSL, не допускает одновременный доступ, что может подвергнуть вашу базу данных риску.
Когда вы используете любое программное обеспечение для подписи сертификата, вы просто применяете функцию к запросу на подпись сертификата. В результате получается сертификат. Независимо от того, какое программное обеспечение вы используете для этого, результат будет в том же формате - сертификат X509.
Для запуска центра сертификации необходимо, чтобы вы могли убедить доверяющие стороны в том, что подписываемые вами сертификаты заслуживают доверия. В частности, когда вы подписываете сертификат, вы подтверждаете, что, насколько вам известно, закрытый ключ принадлежит объекту, указанному в сертификате, а не другому объекту. Поэтому доверяющие стороны должны иметь возможность доверять тому, что названное лицо - это то, кем / чем они себя называют, а не другое.
Чтобы управлять центром сертификации и завоевать доверие доверяющих сторон, вам нужно сделать гораздо больше, чем просто подписать сертификат. Например, вам потребуется:
Большая часть усилий, затрачиваемых на разработку и внедрение центра сертификации, связана с политиками и процедурами, необходимыми для поддержания доверия. Большая часть усилий, затрачиваемых на операции CA, связана с обеспечением неукоснительного соблюдения политик и процедур.
К сожалению, хотя OpenSSL с радостью создаст сертификат для вас, он терпит неудачу во всех остальных точках - например, нет контроля доступа, не хранит транзакции в проверяемом журнале и т. Д. Между тем программное обеспечение, специально написанное для этой задачи, учитывает множество дополнительных требований, необходимых для работы надежного центра сертификации.
Подводя итог - если вы играете, не стесняйтесь использовать OpenSSL; если тебе надо доверять, используйте что-нибудь получше.