| ||||
| ||||
Ниже представлен кусок структуры PKCS7 EnvelopedData полученной с использованием CAPICOM (опущен IssuerAndSerialNumber и EncryptedContent). -- keyEncryptionAlgorithmIdentifier SEQUENCE { -- algorithm OBJECT IDENTIFIER szOID_CP_GOST_R3410 (1 2 643 2 2 20) -- parameters SEQUENCE { OBJECT IDENTIFIER OID_SignDH128VerbaO (1 2 643 2 2 32 2) OBJECT IDENTIFIER OID_HashVerbaO (1 2 643 2 2 30 1) } } -- encryptedKey (GostR3410-KeyTransport) OCTET STRING, encapsulates { SEQUENCE { -- sessionEncryptedKey (Gost28147-89-EncryptedKey) SEQUENCE { -- encryptedKey (Gost28147-89-Key, берется из CRYPT_SIMPLEBLOB) OCTET STRING 79 60 98 69 F0 0F 4E EA EE 8D DA B0 55 68 E7 F8 5F 18 86 19 F9 C4 E9 E6 9C 0F 41 09 AB AC DF 2E -- macKey (Gost28147-89-MAC, берется из CRYPT_SIMPLEBLOB) OCTET STRING 23 15 9C 98 } -- transportParameters (GostR3410-TransportParameters) [0] { -- encryptionParamSet OBJECT IDENTIFIER OID_SipherVerbaO (1 2 643 2 2 31 1) -- ephemeralPublicKey (SubjectPublicKeyInfo) [0] { -- keyEncryptionAlgorithmIdentifier SEQUENCE { OBJECT IDENTIFIER szOID_CP_GOST_R3410 (1 2 643 2 2 20) SEQUENCE { OBJECT IDENTIFIER OID_SignDH128VerbaO (1 2 643 2 2 32 2) OBJECT IDENTIFIER OID_HashVerbaO (1 2 643 2 2 30 1) } } -- key (?) BIT STRING 1 unused bits, encapsulates { OCTET STRING E1 E1 6E DF 74 3E B7 95 4F AD 08 04 AE 49 D8 84 D6 16 E6 A5 42 3E 2F C2 0E A6 EC 72 74 F7 E3 39 81 A9 13 A8 CB 7B 59 B5 EA 48 68 21 D7 44 31 81 C7 C2 0E 48 66 13 BE FA F5 7C C2 05 69 9A BC 22 83 01 DB E6 E2 C0 C9 79 F6 24 E4 AA CD 46 41 48 EF D7 9B 93 65 59 18 AB 41 5E 7C F4 75 1E C8 57 9A EC 85 27 35 44 FE 3B 01 7E B0 DC 5E E0 F3 A6 3B 52 AB 15 93 A1 FC 7B 4A 8C 20 34 7A 10 19 1A } } -- ukm OCTET STRING D0 1A 23 30 47 34 50 51 } } } Вопрос0: Как выгрузить ключ из CSP по схеме DH с _эферемным_ ключом? Вопрос1: Как получить параметры алгорита? Вопрос2: Как получить данные для структуры transportParameters? (идентификатор набора параметров, идентификатор алгоритма, собственно эфемерный ключ и ukm) | ||||
Ответы: | ||||
| ||||
Прошу прощения за назойливость, но в виду Вашего столь настойчивого молчания я начинаю думать, что средствами Вашего CSP невозможно выполнить элементарные операции! Пожалуйста, разубедите меня в этом. | ||||
| ||||
Насколько я понял, элементарные операции не можете выполнить именно Вы, а CSP лишь предоставляет интерфейс криптопровайдера уровня CP (и разбор ASN1 никаким образом не относится к этому интерфейсу) - и возможность работы с несколькими прикладными программами - не нравятся эти возможности - все в Ваших руках - документации, я думаю, хватит. А если Вы хотите нечто другое, то обращайтесь напрямую к разработчикам. PS. RTFM никто не отменял вроде:) | ||||