Статус: Новичок
Группы: Участники
Зарегистрирован: 08.08.2024(UTC) Сообщений: 4 Откуда: Москва Поблагодарили: 1 раз в 1 постах
|
Используем CryptEncryptMessage, и возникла проблема с алгоритмом шифрования контента на Линукс. В декодированном envelopedData видно, что для ГОСТ-сертификатов всегда используется 1.2.643.2.2.21 (GOST 28147-89), даже если указывать алгоритмы 1.2.643.7.1.1.5.1 и 1.2.643.7.1.1.5.2. Собственно такой же результат получится, если передать просто билеберду вместо oid. Через CryptoPro tools работает правильно. CSP 5.0.13000 Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider Код:Пример кода:
DWORD recipNumber = 1;
DWORD encryptedSize = 0;
CRYPT_ENCRYPT_MESSAGE_PARA encryptPara;
encryptPara.cbSize = sizeof(encryptPara);
encryptPara.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
encryptPara.hCryptProv = 0;
encryptPara.ContentEncryptionAlgorithm.pszObjId = szOID_CP_GOST_R3412_2015_K;
encryptPara.ContentEncryptionAlgorithm.Parameters.pbData = 0;
encryptPara.ContentEncryptionAlgorithm.Parameters.cbData = 0;
encryptPara.pvEncryptionAuxInfo = 0;
encryptPara.dwFlags = 0;
encryptPara.dwInnerContentType = 0;
BOOL ret = CryptEncryptMessage(
&encryptPara, recipNumber2, recipCerts.get(),
(const BYTE*)sourceData.data(), (DWORD)sourceData.length(),
0, &encryptedSize);
encryptedSize = encryptedSize + 1024;
std::unique_ptr<BYTE> encryptBuffer(new BYTE[encryptedSize]);
ret = CryptEncryptMessage(
&encryptPara, recipNumber2, recipCerts.get(),
(const BYTE*)sourceData.data(), (DWORD)sourceData.length(),
encryptBuffer.get(), &encryptedSize);
Код:Windows
certutil -dump C:\temp\Данные.txt.p7e
PKCS7 Message:
CMSG_ENVELOPED(3)
CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION(0)
Content Type: 1.2.840.113549.1.7.1 PKCS 7 Data
Content Encryption Algorithm:
Algorithm ObjectId: 1.2.643.7.1.1.5.2.1 GOST R 34.12-2015 Kuznyechik CTR-ACPKM
Algorithm Parameters:
0000 30 12 04 10 92 15 33 56 09 f7 3e bc 30 b2 48 83
0010 b1 c2 a1 b2
92 15 33 56 09 f7 3e bc 30 b2 48 83 b1 c2 a1 b2 ..3V..>.0.H.....
PKCS7 Message Content:
Decrypted PKCS7 Message Content
================ Begin Nesting Level 1 ================
0000 ...
0011
0000: ef bb bf 31 32 33 34 35 36 37 38 39 30 0d 0a 0d ; ...1234567890...
0010: 0a ; .
================ DECODE ERROR! ================
0000 ef bb bf 31 32 33 34 35 36 37 38 39 30 0d 0a 0d ...1234567890...
0010 0a .
---------------- End Nesting Level 1 ----------------
No Signer
Recipient Count: 1
Recipient Info[0]:
CMSG_KEY_TRANS_RECIPIENT(1)
CERT_ID_ISSUER_SERIAL_NUMBER(1)
Serial Number: 12006491c681edf7649c2e62a10002006491c6
Issuer: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, E=support@cryptopro.ru
Key Encryption Algorithm:
Algorithm ObjectId: 1.2.643.7.1.1.7.2.1
Algorithm Parameters:
30 0a 06 08 2a 85 03 07 01 01 06 01
1.2.643.7.1.1.6.1 GOST R 34.10-2012 DH 256 bit
Encrypted Key:
0000 30 81 bc 04 30 3c 4f 14 4b f3 d8 7d 5f cc 36 23 0...0<O.K..}_.6#
0010 6f a7 95 f6 fa 75 aa a4 a9 eb a6 c5 b9 0e 36 91 o....u........6.
0020 3e 2e d6 d6 13 60 02 92 1d c7 0d 73 4e 31 33 ba >....`.....sN13.
0030 63 f1 d3 2e 3c 30 66 30 1f 06 08 2a 85 03 07 01 c...<0f0...*....
0040 01 01 01 30 13 06 07 2a 85 03 02 02 24 00 06 08 ...0...*....$...
0050 2a 85 03 07 01 01 02 02 03 43 00 04 40 c8 5f 02 *........C..@._.
0060 e1 b9 af ac 31 9a ac 55 95 a0 9d a9 56 ab 69 ba ....1..U....V.i.
0070 d0 bf 69 9c ac f9 27 33 1d fc 34 78 a7 bb 4f ef ..i...'3..4x..O.
0080 15 5e e5 32 7b f9 e7 5c d7 32 fc 9f 8e bf 76 cd .^.2{..\.2....v.
0090 47 52 79 60 08 04 3a 50 d6 84 26 d0 7a 04 20 7f GRy`..:P..&.z. .
00a0 32 95 3c d6 43 f4 17 f1 1d 37 cb 09 4d 5c 48 9b 2.<.C....7..M\H.
00b0 d7 04 c6 81 f5 a2 53 7b 15 41 bc 11 ec 8c cb ......S{.A.....
No Certificates
No CRLs
CertUtil: -dump command completed successfully.
Код:Linux
certutil -dump "C:\temp\1 lin.enc"
PKCS7 Message:
CMSG_ENVELOPED(3)
CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION(0)
Content Type: 1.2.840.113549.1.7.1 PKCS 7 Data
Content Encryption Algorithm:
Algorithm ObjectId: 1.2.643.2.2.21 GOST 28147-89
Algorithm Parameters:
0000 30 15 04 08 b2 f6 75 17 cc 0d ae 4a 06 09 2a 85
0010 03 07 01 02 05 01 01
b2 f6 75 17 cc 0d ae 4a ..u....J
1.2.643.7.1.2.5.1.1 GOST 28147-89, cipher parameters TC26 Z
PKCS7 Message Content:
0000 6e 37 22 1b dc 07 ec dd 7e 34 07 n7".....~4.
No Signer
Recipient Count: 1
Recipient Info[0]:
CMSG_KEY_TRANS_RECIPIENT(1)
CERT_ID_ISSUER_SERIAL_NUMBER(1)
Serial Number: 6891c6ab37f9be90446b70ae601f9f79
Issuer: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, E=support@cryptopro.ru
Key Encryption Algorithm:
Algorithm ObjectId: 1.2.643.7.1.1.1.1 GOST R 34.10-2012 256 bit
Algorithm Parameters:
0000 30 13 06 07 2a 85 03 02 02 23 01 06 08 2a 85 03
0010 07 01 01 02 02
1.2.643.2.2.35.1 GOST R 34.10 256 bit, default parameters
1.2.643.7.1.1.2.2 GOST R 34.11-2012 256 bit
Encrypted Key:
0000 30 81 a9 30 28 04 20 ed 23 6b cd b4 d3 3f 7b 53 0..0(. .#k...?{S
0010 bc 61 5a 03 f7 a2 f8 87 e1 70 17 db 54 f6 2b e2 .aZ......p..T.+.
0020 c7 4d 3c ea ee ba 5d 04 04 d8 52 21 9a a0 7d 06 .M<...]...R!..}.
0030 09 2a 85 03 07 01 02 05 01 01 a0 66 30 1f 06 08 .*.........f0...
0040 2a 85 03 07 01 01 01 01 30 13 06 07 2a 85 03 02 *.......0...*...
0050 02 23 01 06 08 2a 85 03 07 01 01 02 02 03 43 00 .#...*........C.
0060 04 40 16 83 8f 0b 55 f5 98 17 b5 d2 35 c9 b1 30 .@....U.....5..0
0070 4b f7 23 35 1b 2e 2d 74 42 8b f6 75 08 6c 03 e4 K.#5..-tB..u.l..
0080 d5 fb 8e d6 5b 0c 6b ee 95 92 54 90 16 e6 40 c0 ....[.k...T...@.
0090 15 ad 53 0d 42 c3 19 57 1c 1c 30 fc e0 93 a4 54 ..S.B..W..0....T
00a0 4f e4 04 08 1a 2d 49 56 f9 bf e1 67 O....-IV...g
No Certificates
No CRLs
CertUtil: -dump command completed successfully.
|
1 пользователь поблагодарил Павел Чиков за этот пост.
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,190 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
проблема решается в рамках обращения 131221 |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close