Обзор создания цифровых сертификатов

Если требуются цифровые сертификаты для тестирования приложений, где для идентификации пользователей нужен цифровой сертификат клиента; необходимо определить, какие типы сертификатов должны быть созданы (для этого потребуется помощь администраторов сервера).

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

В криптографии с открытым ключом каждый сертификат имеет два связанных ключа: открытый ключ и личный ключ. Открытый ключ добавляется в сертификат X.509 и всегда доступен вместе с сертификатом. Личный ключ хранится в надежном месте и никогда не передается. В целях мобильности оба ключа (и сертификат) могут включаться в один зашифрованный и защищенный паролем формат, называемый PKCS#12.

Для проверки подлинности сертификата он подписывается другим сертификатом, которым владеет сертификатная компания (CA). Подписывающий сертификат создается и хранится в надежном месте компанией - владельцем защищенного приложения или специализированной сертификатной компанией, такой как Verisign.

Когда веб-приложение требует цифровые сертификаты, администратор обычно создает по отдельному сертификату для каждого зарегистрированного пользователя. Администратор подписывает каждый сертификат подписывающим сертификатом. Эти сертификаты вместе с открытым и личным ключами передаются пользователям. Часто эти ключи передаются в формате PKCS#12. Пользователи импортируют сертификаты в свои браузеры. Когда сервер запрашивает у браузера сертификат, тот передает его серверу.

Во время выполнения импорта сертификатов для веб-приложений, включите переключатель, разрешающий экспорт ключей. Это позволяет экспортировать сертификат в файл в формате PKCS#12 для использования в других программах.

Для тестирования производительности не следует использовать сертификаты реальных пользователей. Используйте отдельные тестовые сертификаты, не связанные с реальными пользователями.

Существует четыре типа сертификатов, которые могут использоваться в тестировании:

Собственные сертификаты используются, когда для установления подлинности сертификата не требуется чье-либо поручительство. Такие сертификаты наиболее просты для создания и использования. Однако обычно для представления конкретного пользователя используется подписанный сертификат.

Подписанные сертификаты используются, когда необходимо создать и выдать сертификат одному и только одному пользователю. Подписанные сертификаты подписываются подписывающим сертификатом от сертификатной компании.

Сертификаты от сертификатной компании представляют собой собственные сертификаты, используемые для подписания (сертификации) других сертификатов.

Неподписанные сертификаты - это сертификаты не являющиеся собственными сертификатами и не подписанные сертификатом от сертификатной компании. В большинстве веб-приложений неподписанные сертификаты не используются.

При создании собственного или подписанного сертификата (включая сертификаты от сертификатной компании) можно указать субъект. Субъект сертификата представляет собой набор атрибутов отличительного имени X.500, добавляемых в сертификат. Субъект позволяет получателю сертификата узнать больше о владельце сертификата. Субъект описывает владельца сертификата, но он необязательно уникален. Субъекты следует рассматривать как записи в телефонной книге, где может быть несколько записей для Павла Широкова, но эти записи относятся к разным лицам.

Субъект может содержать и другие типы идентифицирующих данных. Обычно субъект включает следующую информацию:

Атрибут Пример
ОБЩЕЕ ИМЯ (CN) CN=Павел Широков
ОРГАНИЗАЦИЯ (O) O=Корпорация IBM
ПОДРАЗДЕЛЕНИЕ (OU) OU=Группа разработки программного обеспечения IBM
СТРАНА (C) C=RU
МЕСТОНАХОЖДЕНИЕ (L) L=Москва
РЕГИОН (ST) ST=Москва
АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ (emailAddress) emailAddress=agrawal@abc.ibm.com

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

Например, приведенный выше субъект можно ввести следующим образом:

/CN=Павел Широков/O=Корпорация IBM/OU=Группа разработки программного обеспечения IBM/C=RU/L=Москва/ST=Москва/emailAddress=agrawal@abc.ibm.com

Дополнительная информация о применении поставляемой вместе с продуктом утилиты командной строки для создания сертификатов приведена в разделе Создание хранилища цифровых сертификатов.


Комментарии