Создание сертификатов RSA в OpenSSL под Windows

Главные вкладки

Аватар пользователя Jean Jack Jean Jack 24 февраля 2010 в 2:14

Для интеграции сайта на Drupal (как и любого другого) со службами Google App нам необходимо сгенерировать пару ассиметричных ключей шифрования и создать сертификат X.509.
Для выполнения данной задачи я воспользовался программой OpenSSL (версия для Windows).
Итак, ниже приведена пошаговая инструкция:

1. Скачиваем средство OpenSSL для Windows с сайта slproweb.com. Я скачал версия для Win32 полную (около 7МБ). Оттуда же скачиваем Visual C++ 2008 Redistributables, так как он потребуется для установки OpenSSL;
2. Устанавливаем Visual C++ 2008 Redistributables и OpenSSL на компьтер. Запускаем файл openssl.exe из папки bin в директории, куда установился OpenSSL. Должно появиться окно с командной строкой OpenSSL, куда будем вводить последующие команды;
3. Генерируем секретный ключ RSA : openssl> genrsa -out privateRSA.pem 1024 (где после слова -out указываем полный путь к файлу с секретным ключом);
4. Генерируем по готовому секретному ключу открытый ключ : openssl> rsa -in privateRSA.pem -pubout -out publicRSA.pem (параметр -pubout указывает, что никакие изменения в формате ключа проводить не надо);
5. Создаем сертификат, содержащий открытый ключ : openssl> req -new -x509 -key privateRSA.pem -out cert.pem (хотя сертификат будет содержать публичный ключ, в параметре -key указываем секретный, иначе OpenSSL выдает ошибку);

* В инструкции модуля Grupal приведена следующая команда, генерирующая и сертификат и ключ для работы с Google : openssl> req -new -x509 -newkey rsa:2048 -keyout grupal.key -out grupal.crt -subj '/CN=grupal/' -nodes

Источники:

* Дистрибутивы OpenSSL - http://www.slproweb.com/products/Win32OpenSSL.html;
* Как сгенерировать ключи (статья Google) - http://code.google.com/intl/ru-RU/apis/apps/articles/sso-keygen.html;
* Основы работы в OpenSSL - http://www.citforum.ru/security/cryptography/openssl/;

Комментарии