2010-11-06 2 views
-1

Каковы наиболее эффективные технологии для осуществления сертификации в отношении языка программирования, базы данных, OpenSSL и т.д.PKI-сертификации

ответ

1

вопрос достаточно широк. Я считаю, что административная часть более сложна, чем технологическая часть, когда речь заходит о PKI.

При настройке базового ЦС не так много сделать: сохранить секретный ключ в безопасности (как всегда), получить запросы на сертификаты, как-то проверить идентификатор реквестера, выдавать сертификат и хранить его где-нибудь (вы можете реализовать вместо этого действуют механизмы аннулирования). Я немного упрощаю изображение, но это примерно весь процесс, и вы можете реализовать это на нескольких языках с существующими библиотеками без особых трудностей. Использование BouncyCastle в Java работает, но я уверен, что другие инструменты тоже работают, например OpenSSL с Perl. Не все языки отображают весь OpenSSL API (если они используют его под капотом), и может быть удобно иметь библиотеку, которая может читать и писать структуры ASN.1 (особенно если вы хотите использовать определенные расширения). Для хранения может быть полезно объединить это со структурой каталогов (например, с некоторой системой на основе LDAP), но это может зависеть от того, что у вас уже есть с точки зрения системы управления пользователями.

Другой аспект, чтобы учесть, насколько прост должен быть пользователь для запроса сертификата. Это может быть болезненно для пользователей, которые должны запрашивать/использовать сертификат, но не имеют времени, чтобы узнать, что это такое. Генерирование в браузере в браузере может быть удобно, вместо того чтобы заставить их генерировать CSR (более или менее вручную). Для создания в браузере это комбинация использования <keygen> (элемент формы, представленный Netscape для этого - работает в Firefox и Opera, например), ActiveX (для MSIE) или Mozilla Javascript extensions. Вместо ActiveX вы также можете иметь автономный «мастер», который является полным приложением (у него будет больше разрешений для выполнения некоторых операций, связанных с сертификатами, так как в противном случае то, что доступно через JScript/ActiveX из MSIE, ограничено и зависит от различных параметров безопасности .)

Другая вещь, которую следует учитывать, - это система, посредством которой вы проверяете личность пользователя по заявлению. Если он относительно невелик, делать нечего, но если это более широкая структура, вам могут понадобиться местные представители и различные службы, которые позволяют им передавать эти утверждения людям, которые собираются выдавать сертификаты. Большая часть того, что вам нужно здесь, будет зависеть от уровня заверений, которые вам требуются.

Возможно, вас заинтересует OpenCA.