Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: maxdm Советую написать сначала нужный код на С, потом перенести на C#. Ну или ждать, что поможет кто-то из форумчан. У меня сейчас к сожалению нет времени этим заниматься. Да я и так особо не пристаю - как видите, восновном всё делаю сам. Но тут просто не понимаю - каким образом должны появляться сертификаты в зашифрованном сообщении, и почему у меня сообщение шифруется, но сертификаты туда не прицепились. Мне осталось только теперь сертификаты туда впихнуть и всё.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
1 пользователь поблагодарил Максим Коллегин за этот пост.
|
po_saa оставлено 07.02.2018(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: maxdm Это как раз понятно! - надо знать отрытые ключи прежде чем расшифровыватьа зачем тогда заполняется CMSG_ENVELOPED_ENCODE_INFO() ? Код: public IntPtr rgpRecipients; //массив указателей на структуры CERT_INFO, каждая содержит издателя сертификата получателя (Issuer, SerialNumber и SubjectPublicKeyInfo)
//Этот массив может быть использован только для получателей, идентифицируемых по издателю и серийному номеру
//если rgpRecipients не NULL то rgCmsRecipients должен быть NULL.
// If rgCmsRecipients != NULL, then, the above rgpRecipients must be NULL.
public IntPtr rgCmsRecipients; //необязательный. Массив указателей на структуры CMSG_RECIPIENT_ENCODE_INFO, содержащие информацию получателя.
//Если rgCmsRecipients не является NULL, rgpRecipients должен быть NULL.
//CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS должен быть определен (должна быть структура) для ссылки на это поле и НА ВСЕ ЧТО НИЖЕ
Откуда КриптоПРО читает публичные ключи сертификатов, на которых проводилось шифрование? Какая функция их помещает в сообщениеОтредактировано пользователем 7 февраля 2018 г. 15:00:46(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: maxdm нашел ТАКОЙ примерчик Код: // Зашифровываем сообщение для каждого получателя,
// используя соответствующие открытые ключи получателей.
// Для зашифрования используем объект класса EnvelopedCms.
static byte[] EncryptMsg(
Byte[] msg,
X509Certificate2Collection recipientCerts)
{
// Помещаем сообщение в объект ContentInfo
// Это требуется для создания объекта EnvelopedCms.
ContentInfo contentInfo = new ContentInfo(msg);
// Создаем объект EnvelopedCms, передавая ему
// только что созданный объект ContentInfo.
// Используем идентификацию получателя (SubjectIdentifierType)
// по умолчанию (IssuerAndSerialNumber).
// Не устанавливаем алгоритм зашифрования тела сообщения:
// ContentEncryptionAlgorithm устанавливается в
// RSA_DES_EDE3_CBC, несмотря на это, при зашифровании
// сообщения в адрес получателя с ГОСТ сертификатом,
// будет использован алгоритм GOST 28147-89.
EnvelopedCms envelopedCms = new EnvelopedCms(contentInfo);
// Создаем объект CmsRecipientCollection, который
// идентифицирует получателей зашифрованного сообщения.
CmsRecipientCollection recips =
new CmsRecipientCollection(
SubjectIdentifierType.IssuerAndSerialNumber,
recipientCerts);
Console.WriteLine(
"{0}Зашифровываем данные для нескольких получателей " +
"с именами:", Environment.NewLine );
foreach (CmsRecipient recip in recips)
{
Console.WriteLine("\t" +
recip.Certificate.SubjectName.Name);
}
// Зашифровываем сообщение на коллекцию получателей.
envelopedCms.Encrypt(recips);
Console.WriteLine("Выполнено.");
// Закодированное EnvelopedCms сообщение содержит
// зашифрованный текст сообщения и информацию
// о каждом получателе данного сообщения.
return envelopedCms.Encode();
}
шифрует вроде правильно но результирующий файл имеет первые два байта 30 83 вместо 30 80 ne DER.PNG (5kb) загружен 22 раз(а).говорят, что он не DER как его сделать DER? soourki_01.01.2017.zip.enc (294kb) загружен 3 раз(а).Отредактировано пользователем 9 февраля 2018 г. 15:20:36(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
https://technet.microsof...mp;MSPPError=-2147217396Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей * https://technet.microsoft.com/en-us/aa378117?f=255&MSPPError=-2147217396 Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? >> что\кто пишет про DER? Банк? ну... тот кто это принимает они принимают ТОЛЬКО поточное и ТОЛЬКО DER
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей * https://technet.microsoft.com/en-us/aa378117?f=255&MSPPError=-2147217396 Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? это взято из SDK Пример поточной подписи PKCS#7/CMS сообщения
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Автор: po_saa Автор: Андрей * https://technet.microsoft.com/en-us/aa378117?f=255&MSPPError=-2147217396 Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? это взято из SDK Пример поточной подписи PKCS#7/CMS сообщения Еще раз. Можно увидеть, где написано, что это поточное шифрование? 50 Гб файл зашифрует? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.08.2015(UTC) Сообщений: 90 Откуда: Москва Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей * Автор: po_saa Автор: Андрей * https://technet.microsoft.com/en-us/aa378117?f=255&MSPPError=-2147217396 Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? это взято из SDK Пример поточной подписи PKCS#7/CMS сообщения Еще раз. Можно увидеть, где написано, что это поточное шифрование? 50 Гб файл зашифрует? можно увидеть http://cpdn.cryptopro.ru Primer.PNG (241kb) загружен 36 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Автор: po_saa Автор: Андрей * Автор: po_saa Автор: Андрей * https://technet.microsoft.com/en-us/aa378117?f=255&MSPPError=-2147217396 Цитата: cbContent
Specifies the size, in bytes, of the content. Normal Distinguished Encoding Rules (DER) encoding is used unless CMSG_INDEFINITE_LENGTH (0xFFFFFFFF) is passed, indicating that the application is not specifying the content length. This forces the use of indefinite-length Basic Encoding Rules (BER) encoding.
1. в зашифрованном файле явно указан размер данных 2. этот пример не поточного шифрования 3. что\кто пишет про DER? Банк? это взято из SDK Пример поточной подписи PKCS#7/CMS сообщения Еще раз. Можно увидеть, где написано, что это поточное шифрование? 50 Гб файл зашифрует? можно увидеть http://cpdn.cryptopro.ru Primer.PNG (241kb) загружен 36 раз(а). Это о поточных функциях, там, кстати, приведены их названия. Цитата: // Зашифровываем сообщение на коллекцию получателей. envelopedCms.Encrypt(recips);
Не является таковой |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close