10.06.2004 12:38:28И все-таки: ручное создание EnvelopedData с использованием Вашего провайдера - как? Ответов: 2
Вадим
Ниже представлен кусок структуры 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)
 
Ответы:
11.06.2004 11:14:09Вадим
Прошу прощения за назойливость, но в виду Вашего столь настойчивого молчания я начинаю думать, что средствами Вашего CSP невозможно выполнить элементарные операции!

Пожалуйста, разубедите меня в этом.
12.06.2004 3:47:03xyz
Насколько я понял, элементарные операции не можете выполнить именно Вы, а CSP лишь предоставляет интерфейс криптопровайдера уровня CP (и разбор ASN1 никаким образом не относится к этому интерфейсу) - и возможность работы с несколькими прикладными программами - не нравятся эти возможности - все в Ваших руках - документации, я думаю, хватит.
А если Вы хотите нечто другое, то обращайтесь напрямую к разработчикам.
PS. RTFM никто не отменял вроде:)