Debian 5, качаем openssl 1.0.0c с openssl.org и компилируем с параметрами по умолчанию.
В соответствии с рекомендациями по обеспечению взаимодействия OpenSSL и CryptoPro CSP (
http://www.cryptocom.ru/...nSource/OpenSSL_rus.html , внизу страницы )
выполненны следующие настройки:
В конфиг-файл OpenSSL добалено следующее (по умолчанию - ./apps/openssl.cnf):
Код:openssl_conf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
gost = gost_section
[gost_section]
engine_id = gost
default_algorithms = ALL
CRYPT_PARAMS = id-GostR3410-2001-CryptoPro-XchA-ParamSet
После редактирования конфиг-файла его нужно сделать видимым для openssl.
Ибо не все команды воспринимают путь к конфигу в качестве параметра.
export OPENSSL_CONF=[full_path_to_config]
Генерируем ключь:
./apps/openssl genpkey -engine gost -algorithm gost2001 -pkeyopt paramset:XA -out cpr_key.p8
Создаем запрос на сертификат:
./apps/openssl req -subj '/C=RU/CN=csp_srv/O=ilfis@mail.ru' -engine gost -new -key cpr_key.p8 -out cpr_cert.req
Затем получаем сертификат тут:
http://www.cryptopro.ru/certsrv/certrqxt.asp Копипастим текстовое содержимое файла cpr_cert.req в формочку, и сохраняем его под именем cpr_cert_trust.cer (PEM-формат!)
Там же скачиваем корневой сертификат CryptoPro, сохраняем его под именем cpro_root_cert.cer
Далее делаем сертификат для клиента (IE) на странице
http://www.cryptopro.ru/certsrv/certrqma.asp(для этого на Win7 сайт надо добавить в trusted sites и включить все возможные разрешения для ActiveX для trusted sites).
И устанавливаем его.
Так же устанавливаем корневой сертификат CryptoPro
Хорошо, приступаем к тестированию c OpenSSL.
Запускаем s_server:
./apps/openssl s_server -tls1 -www -accept 4333 -state -CAfile cpro_root_cert.cer -cert cpr_cert_trust.cer -key cpr_key.p8
Обращаемся браузером к этому серверу, и браузер выдает: "Internet Explorer cannot display the webpage"
При этом s_server выводит:
ACCEPT
bad gethostbyaddr
SSL_accept:before/accept initialization
SSL_accept:SSLv3 read client hello A
SSL_accept:SSLv3 write server hello A
SSL_accept:SSLv3 write certificate A
SSL_accept:SSLv3 write server done A
SSL_accept:SSLv3 flush data
SSL_accept:error in SSLv3 read client certificate A
Отредактировано пользователем 26 декабря 2010 г. 6:33:28(UTC)
| Причина: Не указана