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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Bolt  
#11 Оставлено : 16 июля 2012 г. 12:40:30(UTC)
Bolt

Статус: Участник

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

Андрей * написал:
Bolt написал:

SigParams.HashAlgorithm.pszObjId := szOID_RSA_MD5;


как это относится к КРИПТО-ПРО \СКЗИ\ Встраивание

не понятно Applause


прошу прощения что там должно быть?

Я этот код в инете нарыл и теперь переписываю для себя исправляе неточности. А система у клиента стоит Крипто Про. АРМ видел но нестал им пользоваться т.к. клиент хочет полную автоматизацию.
Offline Андрей Писарев  
#12 Оставлено : 16 июля 2012 г. 13:03:22(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,190
Мужчина
Российская Федерация

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Bolt написал:
Андрей * написал:
Bolt написал:

SigParams.HashAlgorithm.pszObjId := szOID_RSA_MD5;


как это относится к КРИПТО-ПРО \СКЗИ\ Встраивание

не понятно Applause


прошу прощения что там должно быть?

Я этот код в инете нарыл и теперь переписываю для себя исправляе неточности. А система у клиента стоит Крипто Про. АРМ видел но нестал им пользоваться т.к. клиент хочет полную автоматизацию.


должен быть наш алгоритм хеширования....
szOID_CP_GOST_R3411 http://cpdn.cryptopro.ru...___pro_c_s_p_ex_DP8.html

p.s. КриптоАРМ - имеет SDK и примеры по использованию - его можно задействовать через COM Anxious и использовать "весь функционал криптографии без изучения тонкостей" ...

Отредактировано пользователем 16 июля 2012 г. 13:37:49(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Bolt  
#13 Оставлено : 18 июля 2012 г. 19:29:57(UTC)
Bolt

Статус: Участник

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

С подписанием разобрался теперь надо зашифровать с помощью сетрификатов.

Нашол что то бодобное там код

Код:
OpenDlg.Title := 'Укажите файл с открытым ключом обмена ключами получателя';
    if OpenDlg.Execute then begin
       AssignFile(outfile, OpenDlg.FileName);
       reset(outfile, 1);
       keyLen := FileSize(outfile);
       GetMem(tmp, keyLen);
       BlockRead(outfile, tmp^, keyLen);
       CloseFile(outfile);
    end else exit;


насколько я понял для шифровки надо брать сетрификат и оттуда ключь

попытался сделать так
Код:
  hCertStoreHandle := CertOpenSystemStore( 0, PWideChar( CERT_STORE_NAME ));
  if ( not assigned( hCertStoreHandle )) then
    Err( Format( 'Ошибка при открытии хранилища: %s', [ CERT_STORE_NAME ] ));
  try
    pSignerCert  := CertFindCertificateInStore( hCertStoreHandle, encType, 0, CERT_FIND_SUBJECT_STR, PWideChar( SignerNameOper ), nil );
    try
      if ( not assigned( pSignerCert )) then
        Err( Format( 'Сертификат %s не найден', [ SignerName ] ));
      keyLen := pSignerCert^.pCertInfo^.SubjectPublicKeyInfo.PublicKey.cbData;
      GetMem(tmp, keyLen);
      Move(pSignerCert^.pCertInfo^.SubjectPublicKeyInfo.PublicKey.pbData^, tmp^, keyLen);
    finally
      CertFreeCertificateContext(pSignerCert);
    end;
  finally
    CertCloseStore( hCertStoreHandle, CERT_CLOSE_STORE_CHECK_FLAG );
  end;

    if not CryptImportKey(hProv, tmp, keyLen, 0, 0, KeyExchKey) then begin
       Err('Ошибка импорта ключа: ');
       exit;
    end;


но получаю
Ошибка импорта ключа: '#$A#$D'0x80090007 Плохая версия поставщика.

снова в тупике как зашифровать сертификатом?
Offline Bolt  
#14 Оставлено : 19 июля 2012 г. 9:28:43(UTC)
Bolt

Статус: Участник

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

по поводу шифрования сказано

e. зашифровать ZIP-архив со следующими параметрами:
- указать в качестве выходного формата PKCS#7 Message в DER-кодировке (.p7m или .enc)
- в свойствах шифрования указать свой сертификат, а в списке сертификатов получателей выбрать сертификат «Оператор»
f. в итоге должен получиться файл с именем КодУчастника_ГГГГММДД_ЧЧММСС.zip.p7m (или .enc)

нашол код использующий сертификат
if (!CryptEncryptMessage(&EncryptPara, 1, &pCert, (BYTE*)string, strlen(string), NULL, count))
{
Error("CryptEncryptMessage");
return;
}

но вопрос как эти 2 сетрификата указывать?
и какова структура файла .enc (я нашел примерчик шифровалки и там "размер ключа,ключь,длина salt-значения,salt-значение, может быть или не быть создание IV, тут зашифрованные данные" это оно?
Offline Андрей Писарев  
#15 Оставлено : 19 июля 2012 г. 11:41:43(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,190
Мужчина
Российская Федерация

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
Bolt написал:
по поводу шифрования сказано

e. зашифровать ZIP-архив со следующими параметрами:
- указать в качестве выходного формата PKCS#7 Message в DER-кодировке (.p7m или .enc)
- в свойствах шифрования указать свой сертификат, а в списке сертификатов получателей выбрать сертификат «Оператор»
f. в итоге должен получиться файл с именем КодУчастника_ГГГГММДД_ЧЧММСС.zip.p7m (или .enc)

нашол код использующий сертификат
if (!CryptEncryptMessage(&EncryptPara, 1, &pCert, (BYTE*)string, strlen(string), NULL, count))
{
Error("CryptEncryptMessage");
return;
}

но вопрос как эти 2 сетрификата указывать?
и какова структура файла .enc (я нашел примерчик шифровалки и там "размер ключа,ключь,длина salt-значения,salt-значение, может быть или не быть создание IV, тут зашифрованные данные" это оно?




Цитата:

но вопрос как эти 2 сетрификата указывать?

в документации сказано как, заполнить массив получателей


Цитата:

и какова структура файла .enc

enc, p7s, p7b - PKCS#7

Отредактировано пользователем 19 июля 2012 г. 11:56:46(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.