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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SiAl  
#1 Оставлено : 29 января 2018 г. 9:54:06(UTC)
SiAl

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

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

Здравствуйте.
Стоит задача переноса процесса обмена зашифрованными/подписанными файлами на Unix системы.
На тестовой системе (Linux - Debian 9 - CryptoPro CSP 4.0 KC2 - OpenSSL 1.1)
Код:
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.3 (stretch)
Release:        9.3
Codename:       stretch

Код:
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext
CSP (Type:80) v4.0.9014 KC2 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 18518739
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC2 CSP
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,010 sec
[ErrorCode: 0x00000000]

/opt/cprocsp/sbin/amd64/cpconfig -license -view
License validity:
4040E-...-HCXQG
Expires: 2 month(s) 19 day(s)
License type: Server.

/opt/cprocsp/sbin/amd64/cpconfig -defprov -view_type
Listing Available Provider Types:
Provider type   Provider Type Name
_____________   _____________________________________
      75        GOST R 34.10-2001 Signature with Diffie-Hellman Key Exchange
      80        GOST R 34.10-2012 (256) Signature with Diffie-Hellman Key Exchange
      81        GOST R 34.10-2012 (512) Signature with Diffie-Hellman Key Exchange

Код:
openssl version
OpenSSL 1.1.0f  25 May 2017

openssl engine
(dynamic) Dynamic engine loading support
(gost) Reference implementation of GOST engine

openssl ciphers | tr ":" "\n" | grep -i gost
GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST89

Установлены сертификаты с закрытыми ключами в контейнерах
Код:
/opt/cprocsp/bin/amd64/certmgr -list -dn 'E=...' |egrep 'PrivateKey|Signature|PublicKey|PrivateKey|Issuer|Container|Provider'
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
PrivateKey Link     : Yes
Container           : HDIMAGE\\134a2d65.000\1F79
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC2 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
PrivateKey Link     : Yes
Container           : HDIMAGE\\2599581c.000\04ED
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC2 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
PrivateKey Link     : Yes
Container           : HDIMAGE\\le-69731.000\91C9
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC2 CSP
Provider Info       : ProvType: 80, KeySpec: 1, Flags: 0x0

Установлены корневые сертификаты УСЦ
Код:
/opt/cprocsp/bin/amd64/certmgr -list -store uRoot
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Subject             : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Serial              : 0x4AAD6F10E49BBBB14BCEA513D2C81E0B
SHA1 Hash           : 0x86ebc03e3b3b14ee4ca70ca5ccd7db30eb80e258
SubjKeyID           : 551b514c6edf5065d849e41d9da16ce9d75e6d26
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 12/05/2014  13:33:42 UTC
Not valid after     : 12/05/2029  13:33:42 UTC
PrivateKey Link     : No
2-------
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Subject             : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Serial              : 0x6A7C887538F2CD8B4126FF8E40C3DDBA
SHA1 Hash           : 0x3b41b9931b7d8bb4fa54850686aabfef0aff7b6f
SubjKeyID           : 2f8d57cc878349b0819a7afd46ac1f2704a92558
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 09/09/2015  15:01:35 UTC
Not valid after     : 09/09/2030  15:01:35 UTC
PrivateKey Link     : No

Локально файлы шифруются и дешифруются корректно
Код:
echo 'test' > ./test.txt

/opt/cprocsp/bin/amd64/cryptcp -encr -thumbprint '8b8fbabd8740b936f42c5a60fd7baab4d8221c58' ./test.txt test.txt.enc
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Certificate chains are checked.
Encrypting the data...
Encrypted message is created.
[ReturnCode: 0]

ls -la ./test.txt*
-rw-r--r-- 1 root root   5 янв 26 15:56 ./test.txt
-rw-r--r-- 1 root root 622 янв 26 15:57 ./test.txt.enc

head -n2 ./test.txt.enc && tail -n2 ./test.txt.enc
MIAGCSqGSIb3DQEHA6CAMIACAQAxggFzMIIBbwIBADCBoTCBkjEgMB4GCSqGSIb3
DQEJARYRY3BjYUBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMRUwEwYDVQQHHgwE
tQQIzq7juXDYodswgAYJKoZIhvcNAQcBMB0GBiqFAwICFTATBAjf72OREHL+YwYH
KoUDAgIfAaCABAWEY8V9mAAAAAAAAAAAAAA=

/opt/cprocsp/bin/amd64/cryptcp -decr -thumbprint '8b8fbabd8740b936f42c5a60fd7baab4d8221c58' ./test.txt.enc test.txt.dec
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Certificate chains are checked.
Decrypting the data...
Message is decrypted.
[ReturnCode: 0]

diff -s ./test.txt.dec ./test.txt
Файлы ./test.txt.dec и ./test.txt идентичны

А вот дешифровка присланных файлов не проходит (напомню, на Win системах сейчас все с такими же сертификатами и теми же файлами рабтает)
Код:
/opt/cprocsp/bin/amd64/cryptcp -decr -thumbprint '4bbe47626fb7da2b3b8d1dfeab64312de3c26794' ./20180112134058.txt.sgn.enc 20180112134058.txt.sgn
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Certificate chains are checked.
Decrypting the data...
Error: The parameter is incorrect./dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/Encr.cpp:558: 0x57
[ErrorCode: 0x00000057]

С подписями наблюдается проблема "Access denied" и это для суперпользователя (пока для тестовой настройки)
Код:
/opt/cprocsp/bin/amd64/cryptcp -sign -dn 'E=...' -nochain /root/test.txt /tmp/test.txt.sig
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Folder '/root/':
/root/test.txt... Signing the data...
Error: Access denied./dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:319: 0x80090010
[ErrorCode: 0x80090010]

/opt/cprocsp/bin/amd64/cryptcp -sign -thumbprint '4bbe47626fb7da2b3b8d1dfeab64312de3c26794' -nochain /root/test.txt test.txt.sig
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Folder '/root/':
/root/test.txt... Signing the data...
Error: Access denied./dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:319: 0x80090010
[ErrorCode: 0x80090010]

При чем пока был импортирован один пользовательский сертификат и не настроен ГОСТ на OpenSSL - подписание работало
Код:
/opt/cprocsp/bin/amd64/cryptcp -sign -dn 'E=...' -nochain /root/test.txt test.txt.sig
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

...

Folder '/root/':
/root/test.txt... Signing the data...
Signed message is created.
[ReturnCode: 0]

head -n2 ./test.txt.sig && tail -n2 ./test.txt.sig
MIAGCSqGSIb3DQEHAqCAMIACAQExDDAKBgYqhQMCAgkFADCABgkqhkiG9w0BBwGg
gCSABAV0ZXN0CgAAAAAAAKCCBXkwggV1MIIFJKADAgECAgpQ1D6QAA4AAg+oMAgG
EwUABEDVrcsa3mzP39CusnKfa72p9yBzlMYgxylyXWQ3vWixubY9QEk97uBMNe8S
9vKwpI5Cs0TRB2RsynxhyprJ+gTsAAAAAAAA

/opt/cprocsp/bin/amd64/cryptcp -verify test.txt.sig
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.

Certificates found: 3
Certificate chains are checked.
Folder './':
test.txt.sig... Signature verifying...
...
Signatures verified.
[ReturnCode: 0]


Подскажите в чем может быть проблема? Куда смотреть? И еще, есть команда которой можно просмотреть каким сертификатом зашифрован файл? Так же как ниже для подписей:

Код:
/opt/cprocsp/bin/amd64/certmgr -list -file ./20180125100539.txt.sgn
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
...
Serial              : 0x11355135C718CF6D
SHA1 Hash           : 0xbc624244f2b3020e73bd960dab927e16664c4e70
SubjKeyID           : 5dae3ca7f8a3734e1ead3f682709e8744d0600058802c5b886f62b36cf1ac741
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 25/09/2017  09:52:14 UTC
Not valid after     : 22/10/2019  09:52:14 UTC
PrivateKey Link     : No
=============================================================================

[ErrorCode: 0x00000000]
Offline Андрей Емельянов  
#2 Оставлено : 29 января 2018 г. 13:04:22(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Добрый день.
При расшифровании и подписи происходит обращение к ключевому контейнеру, где находится контейнер от сертификата
Цитата:
-thumbprint '4bbe47626fb7da2b3b8d1dfeab64312de3c26794'
?
приложите результат тестирования этого контейнера.
Получить список доступных контейнеров (запускать от пользователя, под которым контейнер генерировали):
Код:
./csptest -keys -enum -verifyc -fqcn

Протестировать:
Код:
./csptest -keys -check -cont '\\.\HDIMAGE\...'


Цитата:
И еще, есть команда которой можно просмотреть каким сертификатом зашифрован файл?

Можно openssl использовать для разбора
Код:
man openssl asn1parse

в теле сообщения должна быть информация о сертификате получателя, его серийный номер, типа такого
Код:
openssl asn1parse -inform pem -in /home/user/Desktop/Log.log.enc|grep INTEGER
   17:d=3  hl=2 l=   1 prim: INTEGER           :00
   28:d=5  hl=2 l=   1 prim: INTEGER           :00
  305:d=6  hl=2 l=  19 prim: INTEGER           :7C0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram
Offline SiAl  
#3 Оставлено : 29 января 2018 г. 14:30:16(UTC)
SiAl

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

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

Спасибо за участие
Автор: eav Перейти к цитате
приложите результат тестирования этого контейнера.

Код:

/opt/cprocsp/bin/amd64/certmgr -list -thumbprint '4bbe47626fb7da2b3b8d1dfeab64312de3c26794' |egrep 'Hash|Container'
SHA1 Hash           : 0x4bbe47626fb7da2b3b8d1dfeab64312de3c26794
Container           : HDIMAGE\\2599581c.000\04ED

/opt/cprocsp/bin/amd64/csptest -keys -check -cont '\\.\HDIMAGE\HDIMAGE\\2599581c.000\04ED'
CSP (Type:80) v4.0.9014 KC2 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 21467859
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC2 CSP
Container name: "2599581c-fb17-4305-bbe4-920a065922b9"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x147b523
uec key is not available.
Check container passed.
An error occurred in running the program.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/csptest/ctkey.c:4431:UniSignHash(NULL)
Error number 0x80090010 (2148073488).
Access denied.
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,010 sec
[ErrorCode: 0x80090010]

ls -la /var/opt/cprocsp/keys/root/2599581c.000/
итого 32
drwsrwsrwt 2 root root 4096 янв 25 15:33 .
drwx------ 6 root root 4096 янв 26 10:54 ..
-rw------- 1 root root 1491 янв 25 15:33 header.key
-rwsrwsrwt 1 root root   56 янв 25 15:33 masks2.key
-rw------- 1 root root   56 янв 29 13:50 masks.key
-rw------- 1 root root   40 янв 25 15:33 name.key
-rwsrwsrwt 1 root root   36 янв 25 15:33 primary2.key
-rw------- 1 root root   36 янв 29 13:50 primary.key

Условия установки у всех сертификатов одинаковые вроде. На этом тест проходит
Код:
/opt/cprocsp/bin/amd64/csptest -keys -check -cont '\\.\HDIMAGE\HDIMAGE\\le-69731.000\91C9'
CSP (Type:80) v4.0.9014 KC2 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 28111571
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC2 CSP
Container name: "le-69731e78-e53b-424a-b712-ce84307b4586"
Check header passed.
Signature key is not available.
Exchange key is available. HCRYPTKEY: 0x1ad1523
uec key is not available.
Check container passed.
Check sign passed.
Check verify signature on private key passed.
Check verify signature on public key passed.
Check import passed.
Certificate in container matches AT_KEYEXCHANGE key.
Keys in container:
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.10
Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,020 sec
[ErrorCode: 0x00000000]

ls -la /var/opt/cprocsp/keys/root/le-69731.000/
итого 32
drwsrwsrwt 2 root root 4096 янв 24 14:37 .
drwx------ 6 root root 4096 янв 26 10:54 ..
-rw------- 1 root root 1516 янв 29 13:52 header.key
-rw------- 1 root root   56 янв 29 13:52 masks2.key
-rw------- 1 root root   56 янв 29 13:52 masks.key
-rw------- 1 root root   43 янв 24 14:37 name.key
-rw------- 1 root root   36 янв 29 13:52 primary2.key
-rw------- 1 root root   36 янв 29 13:52 primary.key

К сожалению вывод не прояснил ситуацию
Автор: eav Перейти к цитате
Можно openssl использовать для разбора

Код:

openssl asn1parse -inform pem -in ./leto/base/COMFORTTEL_clients_20180112134058.txt.sgn.enc |grep INTEGER
Error: offset too large

openssl asn1parse -inform der -in ./20180112134058.txt.sgn.enc |grep INTEGER
   17:d=3  hl=2 l=   1 prim: INTEGER           :02
   38:d=8  hl=2 l=   1 prim: INTEGER           :02
   41:d=7  hl=2 l=  10 prim: INTEGER           :5BBBD66D000E0001C15E
 1447:d=5  hl=2 l=   1 prim: INTEGER           :00
 1602:d=6  hl=2 l=  10 prim: INTEGER           :5BBBD66D000E0001C15E

По всей видимости требуется предварительное преобразование формата перед расшифровкой?
Offline Андрей Емельянов  
#4 Оставлено : 30 января 2018 г. 17:46:09(UTC)
Андрей Емельянов

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

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

Сказал «Спасибо»: 4 раз
Поблагодарили: 148 раз в 144 постах
Добрый день.
Код:
An error occurred in running the program.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/csptest/ctkey.c:4431:UniSignHash(NULL)
Error number 0x80090010 (2148073488).

Скорее всего истек срок действия закрытого ключа. Сертификат с какого числа/месяца/года действует?
Техническую поддержку оказываем тут
Наша база знаний
Наша страничка в Instagram
thanks 1 пользователь поблагодарил Андрей Емельянов за этот пост.
nikserg оставлено 21.01.2021(UTC)
Offline nikserg  
#5 Оставлено : 21 января 2021 г. 17:40:28(UTC)
nikserg

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Андрей Емельянов Перейти к цитате
Добрый день.
Код:
An error occurred in running the program.
/dailybuildsbranches/CSP_4_0/CSPbuild/CSP/samples/csptest/ctkey.c:4431:UniSignHash(NULL)
Error number 0x80090010 (2148073488).

Скорее всего истек срок действия закрытого ключа. Сертификат с какого числа/месяца/года действует?


Подтверждаю, проблема была в том, что истек срок закрытой части.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.