Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Дешифрование enveloped message при помощи низкоуровневых функций CryptoAPI
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.01.2012(UTC) Сообщений: 51 Откуда: Екатеринбург
|
Добрый день.
Почему размер простого блоба, получающегося экспортом симметричного ключа на ключе согласования через CryptExportKey равен 71 байту, а размер байтового массива в поле EncryptedKey первого (с индексом 0) элемента последовательности RecipientInfos в enveloped-сообщении, получающемся при помощи CryptEncryptMessage, равен 167 байтам?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,453  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 748 раз в 643 постах
|
Потому что во втором случае используется ASN1 кодирование траспортного ключа. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.01.2012(UTC) Сообщений: 51 Откуда: Екатеринбург
|
Так вроде бы я извлекаю EncryptedKey из KeyTransRecipientInfo, и там уже получается 167 октетов.
Вот код (используется BouncyCastle):
KeyTransRecipientInfo.GetInstance(envelopedData.RecipientInfos[recipientInfoIndex]).EncryptedKey.GetOctets()
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.01.2012(UTC) Сообщений: 51 Откуда: Екатеринбург
|
maxdm написал:Потому что во втором случае используется ASN1 кодирование траспортного ключа. Как я понимаю, ASN1 кодирование выполняет КриптоПро потому, что поля в точности соответствуют структуре CRYPT_SIMPLEBLOB из WinCryptEx. Верны ли следующие утверждения? - Дешифровать сообщение, зашифрованное таким образом, можно только при помощи CryproPro CSP? - Существует способ импортировать ключ, закодированный таким образом, через CryptoAPI без разбора ASN1-объекта руками?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,453  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 748 раз в 643 постах
|
Кодирование/декодирование реализованы в модуле расширения CAPI. Посмотрите в сторону HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 1\CryptMsgDllImportKeyTrans ASN1 cтруктуры описаны в rfc 4490 |
|
|
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Дешифрование enveloped message при помощи низкоуровневых функций CryptoAPI
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close