Добрый день! Отправлял письмо на ящик технической поддержки, на всякий случай спрошу еще и тут - вдруг кто уже сталкивался с таким делом...
Требуется отправлять данные с одного сервера на другой, используя TLS и сертификат соответственно.
Был запрошен сертификат у ЗАО "Национальный удостоверяющий центр". Получили тестовый сертификат письмом, архив с папкой fb-test.000 и внутри 6 файликов.
-rw------- 1 root root 2340 Sep 17 14:08 header.key
-rw-r--r-- 1 root root 56 Sep 17 14:08 masks2.key
-rw-r--r-- 1 root root 56 Sep 17 14:08 masks.key
-rw------- 1 root root 11 Sep 17 14:08 name.key
-rw-r--r-- 1 root root 36 Sep 17 14:08 primary2.key
-rw-r--r-- 1 root root 36 Sep 17 14:08 primary.key
Делаю HDIMAGE для этих файликов:
cpconfig -hardware reader -add HDIMAGE store
Контейнер появился, я вижу его командой /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:71) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Linux CPU:AMD64
FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Linux CPU:AMD64
FastCode:NoHardwareSupport.
AcquireContext: OK. HCRYPTPROV: 10831011
\\.\HDIMAGE\fb-test
OK.
Total:
[ErrorCode: 0x00000000]
Копирую туда папку из архива (fb-test.000 и 6 файлов внутри)
Ставлю из этого контейнера сертификат:
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\HDIMAGE\fb-test'
Certmgr 0.9 prerelease (c) "CryptoPro", 2007-2010.
program for managing certificate(CRL) and stores
Install:
=============================================================================
1-------
Issuer : 1.2.643.100.1="#120D31313237373436303336343934",
1.2.643.3.131.1.1="#120C303037373232373636353938",
STREET=▒▒.▒▒▒▒▒▒▒▒▒▒▒▒ ▒.8▒ ▒▒▒.5, C=RU, S=▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒""", OU=▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒, CN="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒"""
Subject : 1.2.643.100.1="#120D31303537373438303036313339",
1.2.643.3.131.1.1="#120C303037373033353631353439", E=admin@fabrikant.ru,
C=RU, S=77 ▒. ▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒ ""▒▒▒▒▒▒▒▒▒.▒▒""",
CN="▒▒▒▒▒▒▒▒▒.▒▒, ▒▒▒", STREET="▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒, ▒.30, ▒▒▒.1"
Serial : 0x765A000000001B4BA414
PrivateKey Link: No
=============================================================================
[ErrorCode: 0x00000000]
Пароль не запрашивает (хотя закрытый ключ имеет защиту ПИН согласно информации от НУЦ)
Если использовать ключ -pin и указать сообщенный пароль, установка так же завершается корректно.
Смотрим, что оно поставилось: /opt/cprocsp/bin/amd64/certmgr -list
Certmgr 0.9 prerelease (c) "CryptoPro", 2007-2010.
program for managing certificate(CRL) and stores
=============================================================================
1-------
Issuer : 1.2.643.100.1="#120D31313237373436303336343934",
1.2.643.3.131.1.1="#120C303037373232373636353938",
STREET=▒▒.▒▒▒▒▒▒▒▒▒▒▒▒ ▒.8▒ ▒▒▒.5, C=RU, S=▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒""", OU=▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒, CN="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒"""
Subject : 1.2.643.100.1="#120D31303537373438303036313339",
1.2.643.3.131.1.1="#120C303037373033353631353439", E=admin@fabrikant.ru,
C=RU, S=77 ▒. ▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒ ""▒▒▒▒▒▒▒▒▒.▒▒""",
CN="▒▒▒▒▒▒▒▒▒.▒▒, ▒▒▒", STREET="▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒, ▒.30, ▒▒▒.1"
Serial : 0x765A000000001B4BA414
PrivateKey Link: Yes. Container: HDIMAGE\\fb-test.000\8CBA
=============================================================================
[ErrorCode: 0x00000000]
Сертификат экспортируется для указания его в stunnel:
/opt/cprocsp/bin/amd64/certmgr -export -dest fabr.cer -cont '\\.\HDIMAGE\fb-test'
Файлик создается -
Certmgr 0.9 prerelease (c) "CryptoPro", 2007-2010.
program for managing certificate(CRL) and stores
Exporting:
=============================================================================
1-------
Issuer : 1.2.643.100.1="#120D31313237373436303336343934",
1.2.643.3.131.1.1="#120C303037373232373636353938",
STREET=▒▒.▒▒▒▒▒▒▒▒▒▒▒▒ ▒.8▒ ▒▒▒.5, C=RU, S=▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒""", OU=▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒, CN="▒▒▒
""▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒"""
Subject : 1.2.643.100.1="#120D31303537373438303036313339",
1.2.643.3.131.1.1="#120C303037373033353631353439", E=admin@fabrikant.ru,
C=RU, S=77 ▒. ▒▒▒▒▒▒, L=▒▒▒▒▒▒, O="▒▒▒ ""▒▒▒▒▒▒▒▒▒.▒▒""",
CN="▒▒▒▒▒▒▒▒▒.▒▒, ▒▒▒", STREET="▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒, ▒.30, ▒▒▒.1"
Serial : 0x765A000000001B4BA414
PrivateKey Link: No
=============================================================================
Export complete.
[ErrorCode: 0x00000000]
После чего файлик копируется в соответствующую папку.
настройка stunel (полный конфиг нет возможности указать на данный момент):
cert = /etc/stunnel/pers_cert/fabr.cer
Запуск стуннеля:
sudo /opt/cprocsp/sbin/amd64/stunnel_thread /etc/stunnel/stunnel.conf &
при попытке курлом обратиться на сайт -
длинная простыня из слова Password:
Password:
Password:
Password:
Password:
Password:
Password:
Password:
В логах стуннеля:
2013.09.17 15:19:26 LOG7[8120:140602890352384]: https connecting
2013.09.17 15:19:26 LOG7[8120:140602890352384]: connect_wait: waiting 10
seconds
2013.09.17 15:19:26 LOG7[8120:140602890352384]: connect_wait: connected
2013.09.17 15:19:26 LOG7[8120:140602890352384]: Remote FD=14 initialized
2013.09.17 15:19:26 LOG7[8120:140602890352384]: TCP_NODELAY option set
on remote socket
2013.09.17 15:19:26 LOG7[8120:140602890352384]: start SSPI connect
2013.09.17 15:19:26 LOG7[8120:140602890352384]: open file
/etc/stunnel/pers_cert/fabr.cer with certificate
После этого процесс зависает и помогает только убийство и запуск туннеля
по новой. Причем пока висит туннель - нельзя производить манипуляции с
сертификатми (добавление, список сертификатов в контейнере)
Есть подозрение, что я неправильно устанавливаю сертификат, или с ним нужно производить дополнительные манипуляции.
Буду признателен за помощь