Используемые в тестах цифровые сертификаты можно создавать при помощи OpenSSL.
Процедура
- Создайте сертификатную организацию (CA). Для целей тестирования эта CA заменяет признанную CA в Интернете,
такую как VeriSign. Эта CA будет служить для цифровой подписи каждого
сертификата, используемого при выполнении тестирования.
- Создайте файл запроса (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
- Создайте файл ключей waipio.ca.key для хранения
закрытого ключа. При этом с файла запроса сертификатов снимается защита паролем,
благодаря чему пароль не нужно будет вводить при каждой подписи сертификата. Учитывая то, что защита паролем снята, файл запроса
сертификатов рекомендуется использовать только в целях тестирования.
openssl
rsa -passin pass:abcdefg -in privkey.pem -out waipio.ca.key
- Создайте цифровой сертификат X.509 на основе
запроса сертификата. Следующая командная строка создает сертификат,
подписанный с использованием закрытого ключа CA. Сертификат
действителен в течение 365 дней.
openssl x509 -in waipio.ca.cert.csr -out waipio.ca.cert
-req -signkey waipio.ca.key -days 365
- Создайте зашифрованный по 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), который можно использовать
для подписи пользовательских сертификатов.
- Создайте цифровой сертификат для пользователя.
- Создайте файл 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
- Создайте файл закрытых ключей без пароля.
openssl rsa -passin pass:abc -in privkey.pem -out johnsmith.key
- Создайте новый сертификат 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
- Необязательно: Создайте версию закрытого ключа, закодированного по правилам DER. Этот
файл содержит только открытый ключ; закрытый ключ он не содержит. В связи с
этом файл может быть общим и не требует защиты паролем.
openssl x509 -in johnsmith.cert -out johnsmith.cert.der -outform
DER
- Создайте файл, закодированный по 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. При этом будет создано хранилище цифровых сертификатов. Дополнительная
информация о хранилищах цифровых сертификатов приведена в разделе Создание хранилища цифровых сертификатов. Можно также импортировать
пользовательские сертификаты в веб-браузер для их интерактивного
тестирования в среде.