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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Лев Плинер  
#1 Оставлено : 20 февраля 2012 г. 13:42:38(UTC)
Лев Плинер

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.01.2012(UTC)
Сообщений: 51
Откуда: Екатеринбург

Добрый день.

Почему размер простого блоба, получающегося экспортом симметричного ключа на ключе согласования через CryptExportKey равен 71 байту, а размер байтового массива в поле EncryptedKey первого (с индексом 0) элемента последовательности RecipientInfos в enveloped-сообщении, получающемся при помощи CryptEncryptMessage, равен 167 байтам?
Offline Максим Коллегин  
#2 Оставлено : 20 февраля 2012 г. 14:57:49(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,453
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 38 раз
Поблагодарили: 748 раз в 643 постах
Потому что во втором случае используется ASN1 кодирование траспортного ключа.
Знания в базе знаний, поддержка в центре поддержки
Offline Лев Плинер  
#3 Оставлено : 20 февраля 2012 г. 15:03:43(UTC)
Лев Плинер

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.01.2012(UTC)
Сообщений: 51
Откуда: Екатеринбург

Так вроде бы я извлекаю EncryptedKey из KeyTransRecipientInfo, и там уже получается 167 октетов.

Вот код (используется BouncyCastle):

KeyTransRecipientInfo.GetInstance(envelopedData.RecipientInfos[recipientInfoIndex]).EncryptedKey.GetOctets()
Offline Лев Плинер  
#4 Оставлено : 20 февраля 2012 г. 15:50:43(UTC)
Лев Плинер

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.01.2012(UTC)
Сообщений: 51
Откуда: Екатеринбург

maxdm написал:
Потому что во втором случае используется ASN1 кодирование траспортного ключа.

Как я понимаю, ASN1 кодирование выполняет КриптоПро потому, что поля в точности соответствуют структуре CRYPT_SIMPLEBLOB из WinCryptEx. Верны ли следующие утверждения?
- Дешифровать сообщение, зашифрованное таким образом, можно только при помощи CryproPro CSP?
- Существует способ импортировать ключ, закодированный таким образом, через CryptoAPI без разбора ASN1-объекта руками?
Offline Максим Коллегин  
#5 Оставлено : 20 февраля 2012 г. 16:18:35(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,453
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 38 раз
Поблагодарили: 748 раз в 643 постах
Кодирование/декодирование реализованы в модуле расширения CAPI.
Посмотрите в сторону HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 1\CryptMsgDllImportKeyTrans
ASN1 cтруктуры описаны в rfc 4490
Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.