Создание цифровых сертификатов при помощи OpenSSL

Используемые в тестах цифровые сертификаты можно создавать при помощи OpenSSL.

Прежде чем начать

OpenSSL доступен из проекта OpenSSL Project в http://www.openssl.org/.

Процедура

  1. Создайте сертификатную организацию (CA). Для целей тестирования эта CA заменяет признанную CA в Интернете, такую как VeriSign. Эта CA будет служить для цифровой подписи каждого сертификата, используемого при выполнении тестирования.
    1. Создайте файл запроса (CSR). Поле "субъект" (-subj) описывает пользователя сертификата. Введите мнимые значения, как показано ниже. Следующая командная строка задает пароль abcdefg для сертификата.

      openssl req -passout pass:abcdefg -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=Rational Performance Tester CA/emailAddress=rpt@abc.ibm.com" -new > waipio.ca.cert.csr

    2. Создайте файл ключей waipio.ca.key для хранения закрытого ключа. При этом с файла запроса сертификатов снимается защита паролем, благодаря чему пароль не нужно будет вводить при каждой подписи сертификата. Учитывая то, что защита паролем снята, файл запроса сертификатов рекомендуется использовать только в целях тестирования.

      openssl rsa -passin pass:abcdefg -in privkey.pem -out waipio.ca.key

    3. Создайте цифровой сертификат X.509 на основе запроса сертификата. Следующая командная строка создает сертификат, подписанный с использованием закрытого ключа CA. Сертификат действителен в течение 365 дней.

      openssl x509 -in waipio.ca.cert.csr -out waipio.ca.cert -req -signkey waipio.ca.key -days 365

    4. Создайте зашифрованный по PKCS#12 файл, содержащий сертификат и закрытый ключ. Следующая командная строка задает пароль default для файла P12. В Rational Performance Tester для всех файлов PKCS#12 по умолчанию используется пароль default.

      openssl pkcs12 -passout pass:default -export -nokeys -cacerts -in waipio.ca.cert -out waipio.ca.cert.p12 -inkey waipio.ca.key

    Теперь у вас есть сертификат CA (waipio.ca.cert), который может быть установлен на тестируемом веб-сервере, и файл закрытых ключей (waipio.ca.key), который можно использовать для подписи пользовательских сертификатов.
  2. Создайте цифровой сертификат для пользователя.
    1. Создайте файл CSR для пользователя. Задайте начальный пароль abc. При необходимости можно указать соответствующий субъект.

      openssl req -passout pass:abc -subj "/C=US/ST=IL/L=Chicago/O=IBM Corporation/OU=IBM Software Group/CN=John Smith/emailAddress=smith@abc.ibm.com" -new > johnsmith.cert.csr

    2. Создайте файл закрытых ключей без пароля.

      openssl rsa -passin pass:abc -in privkey.pem -out johnsmith.key

    3. Создайте новый сертификат X.509 для нового пользователя, подпишите его цифровой подписью, используя закрытый ключ пользователя, и сертифицируйте его при помощи закрытого ключа CA. Следующая командная строка создает сертификат, действительный в течение 365 дней.

      openssl x509 -req -in johnsmith.cert.csr -out johnsmith.cert -signkey johnsmith.key -CA waipio.ca.cert -CAkey waipio.ca.key -CAcreateserial -days 365

    4. Необязательно: Создайте версию закрытого ключа, закодированного по правилам DER. Этот файл содержит только открытый ключ; закрытый ключ он не содержит. В связи с этом файл может быть общим и не требует защиты паролем.

      openssl x509 -in johnsmith.cert -out johnsmith.cert.der -outform DER

    5. Создайте файл, закодированный по PKCS#12. Следующая командная строка задает пароль default для файла P12.

      openssl pkcs12 -passout pass:default -export -in johnsmith.cert -out johnsmith.cert.p12 -inkey johnsmith.key

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

Результаты

Теперь сертификат CA (waipio.ca.cert) можно установить в WebSphere. При необходимости можно создать отдельный пользовательский сертификат для своего веб-сервера и установить его в WebSphere.

Для записи тестов пользовательские сертификаты можно использовать по отдельности. Если необходимо воспользоваться пользовательскими сертификатами (johnsmith.cert.p12) во время изменения и воспроизведения тестов, сожмите их в формате ZIP в файл с расширением .rcs. При этом будет создано хранилище цифровых сертификатов. Дополнительная информация о хранилищах цифровых сертификатов приведена в разделе Создание хранилища цифровых сертификатов. Можно также импортировать пользовательские сертификаты в веб-браузер для их интерактивного тестирования в среде.


Комментарии