Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Наши способы организации безопасного удалённого доступа к рабочим местам и корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

31 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Дмитрий Пичулин  
#21 Оставлено : 27 февраля 2015 г. 13:43:42(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
примерный вид сертификата в файле:

Код:
-----BEGIN CERTIFICATE-----
MIIDBjCCArWgAwIBAgITEgACjcjjkw4WA2jR+AAAAAKNyDAIBgYqhQMCAgMwfzEj
MCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJV
MQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEwHwYD
VQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDIwHhcNMTUwMjI2MTAxNTI1WhcN
MTUwNTI2MTAyNTI1WjAVMRMwEQYDVQQDDApwZG44LmNwLnJ1MGMwHAYGKoUDAgIT
MBIGByqFAwICJAAGByqFAwICHgEDQwAEQBxokPQs+fZkdMHE0ZVodRmyBXfGyfr8
DMGILEn6WkbKWpdQ7Fd1+WakGgQdEZ9b94Q38h6sksX0wtaTKVQezJSjggFwMIIB
bDAOBgNVHQ8BAf8EBAMCBPAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYE
FH9XfxXyEhZZ//LMpcQn2j7E3wOtMB8GA1UdIwQYMBaAFBUxfLCNGt5m1xWcSVKX
FyS5AXqDMFkGA1UdHwRSMFAwTqBMoEqGSGh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJv
LnJ1L0NlcnRFbnJvbGwvQ1JZUFRPLVBSTyUyMFRlc3QlMjBDZW50ZXIlMjAyLmNy
bDCBqQYIKwYBBQUHAQEEgZwwgZkwYQYIKwYBBQUHMAKGVWh0dHA6Ly90ZXN0Y2Eu
Y3J5cHRvcHJvLnJ1L0NlcnRFbnJvbGwvdGVzdC1jYS0yMDE0X0NSWVBUTy1QUk8l
MjBUZXN0JTIwQ2VudGVyJTIwMi5jcnQwNAYIKwYBBQUHMAGGKGh0dHA6Ly90ZXN0
Y2EuY3J5cHRvcHJvLnJ1L29jc3Avb2NzcC5zcmYwCAYGKoUDAgIDA0EA7EfxWM7k
g2/AYLBwOh6rsz457sxJLT+yTK/oMkMz4vSYYC12R7sH4OcnESGtqeGKOsq692+A
dvPqQHp0C0oyCg==
-----END CERTIFICATE-----
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#22 Оставлено : 27 февраля 2015 г. 13:46:24(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
примерный вид сертификата в файле:

Это если сертификат в кодировке Base64. DER-кодировка поддерживается?
Offline Дмитрий Пичулин  
#23 Оставлено : 27 февраля 2015 г. 13:47:56(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: kropotin Перейти к цитате
Автор: pd Перейти к цитате
примерный вид сертификата в файле:

Это если сертификат в кодировке Base64. DER-кодировка поддерживается?

Не тестировалось. Это вопрос к разработчикам OpenSSL.
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#24 Оставлено : 27 февраля 2015 г. 13:50:41(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
Не тестировалось. Это вопрос к разработчикам OpenSSL.

Провел эксперимент. Раскодировал эту последовательность по Base64. Внутри оказался сертификат в DER-кодировке.
То есть Base64 это просто обертка для удобной передачи.

Тут дело может быть в самом сертификате (структуре).
Может надо запрос на сертификат создавать с помощью OpenSSL, а нет ./cryptcp -creatrqst?

Отредактировано пользователем 27 февраля 2015 г. 13:52:50(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#25 Оставлено : 27 февраля 2015 г. 13:55:59(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: kropotin Перейти к цитате

Тут дело может быть в самом сертификате (структуре).
Может надо запрос на сертификат создавать с помощью OpenSSL, а нет ./cryptcp -creatrqst?


Вряд ли все так сложно, представленный выше сертификат выпущен на привычном https://www.cryptopro.ru/certsrv/

Лучше проверьте окончания строк, они должны быть Unix формата, при работе на платформе Unix.
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#26 Оставлено : 27 февраля 2015 г. 13:59:04(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
Вряд ли все так сложно, представленный выше сертификат выпущен на привычном https://www.cryptopro.ru/certsrv/
Лучше проверьте окончания строк, они должны быть Unix формата, при работе на платформе Unix.


Сертификаты, которые я использую, как раз выпущены на тестовом https://www.cryptopro.ru/certsrv/
Offline Дмитрий Пичулин  
#27 Оставлено : 27 февраля 2015 г. 14:03:30(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: kropotin Перейти к цитате
Автор: pd Перейти к цитате
Вряд ли все так сложно, представленный выше сертификат выпущен на привычном https://www.cryptopro.ru/certsrv/
Лучше проверьте окончания строк, они должны быть Unix формата, при работе на платформе Unix.


Сертификаты, которые я использую, как раз выпущены на тестовом https://www.cryptopro.ru/certsrv/


Мы не можем воспроизвести вашу ошибку:

Код:
3078485740:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE


Вот это место из pem_lib.c:

Код:
		i=BIO_gets(bp,buf,254);

		if (i <= 0)
			{
			PEMerr(PEM_F_PEM_READ_BIO,PEM_R_NO_START_LINE);
			goto err;
			}      
      

Можно заметить, что ошибка при получении строки из файла. Если ваш файл выглядет иначе, чем представленный выше. То вряд ли вы продвинетесь.
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#28 Оставлено : 27 февраля 2015 г. 14:08:54(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
Лучше проверьте окончания строк, они должны быть Unix формата, при работе на платформе Unix.


Google говорит:
Цитата:
Is it possible that the lines are ^M-terminated? This is a potential issue when moving files from Windows to UNIX systems. One easy way to check is to use vi in "show me the binary" mode, with vi -b /etc/apache2/domain.ssl/domain.ssl.crt/domain.com.crt.

If each line ends with a control-M, like this

-----BEGIN CERTIFICATE-----^M
MIIDITCCAoqgAwIBAgIQL9+89q6RUm0PmqPfQDQ+mjANBgkqhkiG9w0BAQUFADBM^M
MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg^M
THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x^M
you've got a file in Windows line-terminated format, and apache doesn't love those.


Ок, я сейчас переиздам серверный сертифкат в Base64-кодировке, и посмотрю на окончания строк.
Offline kropotin  
#29 Оставлено : 27 февраля 2015 г. 14:44:31(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Да, окончания ^M присутствуют. убираются в редакторе.
Код:
vi -b user.cer


Я вот еще что подумал. Сертификат-то у меня установлен в хранилище пользователя nginx. а проверку шифрования я проводил под root'ом.
Создал запрос на сертификат под root'ом, выпустил сертфикат, установил в систему.
Убрал окончания строк в редакторе.

Прокатила команда, но только после того как я сбросил пароль на ключевой контейнер.
Код:

[root@tls-nginx tmp]# openssl cms -sign -engine gost_capi -keyform ENGINE -inkey "" -in "test.txt" -out "test.signed.txt" -outform PEM -CAfile /tmp/user.cer -nodetach -signer /tmp/user.cer

Файл зашифровался. Что обозначает -inkey параметр? пароль на ключевой носитель? Первый раз я указывал в этом параметре пароль к ключевому контейнеру.

щас буду nginx пытать.
Offline kropotin  
#30 Оставлено : 27 февраля 2015 г. 14:49:07(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Код:
[root@tls-nginx tmp]# service nginx start
Starting nginx: nginx: [emerg] SSL_CTX_use_certificate("/etc/nginx/nginx.cer") failed (SSL: error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorithm error:0B07706F:x509 certificate routines:X509_PUBKEY_get:unsupported algorithm error:140BF10C:SSL routines:SSL_SET_CERT:x509 lib)

Код:

server {
    listen       443 ssl;
    server_name localhost;

    ssl_certificate      /etc/nginx/nginx.cer;
    ssl_certificate_key  engine:gost_capi:/etc/nginx/nginx.cer;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}
Offline Дмитрий Пичулин  
#31 Оставлено : 27 февраля 2015 г. 14:51:24(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: kropotin Перейти к цитате
Что обозначает -inkey параметр? пароль на ключевой носитель? Первый раз я указывал в этом параметре пароль к ключевому контейнеру.


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

В данном случае inkey подстрока имени сертификата.

Например для сертификата с именем "some.test.local", правильными строками будет и полная строка "some.test.local" так и ее часть, например "some.test".

Видимо, ваш параметр -inkey "" просто нашел первый попавшийся сертификат и вам повезло, что это был именно ваш целевой сертификат/ключ.

В nginx логика такая же, то есть правильно будет указать: ssl_certificate_key engine:gost_capi:some.test.local
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#32 Оставлено : 27 февраля 2015 г. 14:54:37(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
Автор: kropotin Перейти к цитате
Что обозначает -inkey параметр? пароль на ключевой носитель? Первый раз я указывал в этом параметре пароль к ключевому контейнеру.

В текущей реализации, у нас используется довольно скверный механизм поиска закрытого ключа, а именно поиск закрытого ключа по сертификату, а поиск сертификата по подстроке.
В данном случае inkey подстрока имени сертификата.
Например для сертификата с именем "some.test.local", правильными строками будет и полная строка "some.test.local" так и ее часть, например "some.test".
Видимо, ваш параметр -inkey "" просто нашел первый попавшийся сертификат и вам повезло, что это был именно ваш целевой сертификат/ключ.
В nginx логика такая же, то есть правильно будет указать: ssl_certificate_key engine:gost_capi:some.test.local


Имя сертификата, это имя файла сертификата или CN?
Offline Дмитрий Пичулин  
#33 Оставлено : 27 февраля 2015 г. 14:55:18(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
CN
Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#34 Оставлено : 27 февраля 2015 г. 14:59:17(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
CN


У меня CN - это ip-адрес сервера, дабы обращаться к нему с другой машины по ip.
Ок, указал CN.
Код:

[root@tls-nginx tmp]# service nginx start
Starting nginx: Auto configuration failed
3078477560:error:8006A041:lib(128):CAPI_INIT:malloc failure:/dailybuilds/CSPbuild/CSP/samples/cp-openssl_plugin/e_gost_capi.c:3169:
3078477560:error:260B806D:engine routines:ENGINE_TABLE_REGISTER:init failed:eng_table.c:174:
3078477560:error:260BC066:engine routines:INT_ENGINE_CONFIGURE:engine configuration error:eng_cnf.c:204:section=gost_section, name=default_algorithms, value=ALL
3078477560:error:0E07606D:configuration file routines:MODULE_RUN:module initialization error:conf_mod.c:235:module=engines, value=engine_section, retcode=-1    
Offline Дмитрий Пичулин  
#35 Оставлено : 27 февраля 2015 г. 15:04:21(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Предлагается синхронизировать gost_capi, так как в вашем логе:

Автор: kropotin Перейти к цитате
Код:
[root@tls-nginx tmp]# openssl engine
(dynamic) Dynamic engine loading support
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE


А при использовании файла приложенного к FAQ должно быть:
Код:
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 114689 $)

Отредактировано пользователем 27 февраля 2015 г. 15:05:31(UTC)  | Причина: fix

Знания в базе знаний, поддержка в техподдержке
Offline kropotin  
#36 Оставлено : 27 февраля 2015 г. 15:14:42(UTC)
kropotin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.09.2014(UTC)
Сообщений: 30

Автор: pd Перейти к цитате
Предлагается синхронизировать gost_capi, так как в вашем логе:

Автор: kropotin Перейти к цитате
Код:
[root@tls-nginx tmp]# openssl engine
(dynamic) Dynamic engine loading support
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE


А при использовании файла приложенного к FAQ должно быть:
Код:
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 114689 $)


Не понял, что от меня требуется.
Устанавливал из архива скачанного с форума. ia32 и CentOS 6. Раньше ковырял x64 и CentOS 7.
Offline Дмитрий Пичулин  
#37 Оставлено : 27 февраля 2015 г. 15:49:45(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Автор: kropotin Перейти к цитате
Устанавливал из архива скачанного с форума. ia32 и CentOS 6. Раньше ковырял x64 и CentOS 7.


Видимо сборка немного устарела, но не суть.

Суть в том, что ошибка в функции инициализации ngg_engine_init, работоспособность которой гарантируется вызовами "openssl engine" и "openssl cms", которые у вас отрабатывают без ошибок.

Похоже, что nginx пользуется каким-то другим openssl или находится в другом контексте, где нет доступа к CSP.
Знания в базе знаний, поддержка в техподдержке
Offline Iniki  
#38 Оставлено : 27 февраля 2015 г. 15:54:47(UTC)
Iniki

Статус: Новичок

Группы: Участники
Зарегистрирован: 26.02.2015(UTC)
Сообщений: 3
Российская Федерация

Автор: kropotin Перейти к цитате
Автор: pd Перейти к цитате
Предлагается синхронизировать gost_capi, так как в вашем логе:

Автор: kropotin Перейти к цитате
Код:
[root@tls-nginx tmp]# openssl engine
(dynamic) Dynamic engine loading support
(gost_capi) CAPIlite (CryptoAPI) gost ENGINE


А при использовании файла приложенного к FAQ должно быть:
Код:
(gost_capi) CryptoPro ENGINE GOST CAPI ($Revision: 114689 $)


Не понял, что от меня требуется.
Устанавливал из архива скачанного с форума. ia32 и CentOS 6. Раньше ковырял x64 и CentOS 7.


Код:
nginx -v

Что у Вас показывает?
Offline Дмитрий Пичулин  
#39 Оставлено : 27 февраля 2015 г. 16:12:53(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
nginx должен быть не менее 1.7.9

Отредактировано пользователем 27 февраля 2015 г. 16:14:28(UTC)  | Причина: typo

Знания в базе знаний, поддержка в техподдержке
Offline Дмитрий Пичулин  
#40 Оставлено : 27 февраля 2015 г. 16:17:05(UTC)
Дмитрий Пичулин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 967
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 25 раз
Поблагодарили: 150 раз в 128 постах
Попробуйте запустить nginx не как сервис, а от имени того, где успешно работали команды "openssl engine" и "openssl cms".
Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
31 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.