Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.07.2013, 19:05
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию Чистка и расшифровка

короче есть текст (во вложении) Это шифрованный файл половина данных зашифровано, остальное читабельно в кодировке ANSI 1251, Перекодировать не шифрованый кусок который просто в анси - можно, если даешь ему весь текст или построчно он или вообще не расшифровует или оставляет 2 строки символов.
Вижу 2 решения данного вопроса:
1)удалить все кроме текста(нормального) и перекодировать - остаток, тут проблема в том что этот текст нельзя отобрать пока он в другой кодировке, а в эту кодировку я попасть не могу.
2)как-то побайтово или посимвольно расшифровывать, тут вообще не знаю как сделать, те варианты что через поиск оставляют все те же 2 строчки что и функции (UTF8Encode, ansitoutf8);
Код:
var
  mStream: Tstringstream;
begin
    try
      mStream := tstringstream.Create('');
      http.Get(sertlink+link.Text,mStream);//http://www.ukrcc.com/files/download.php?file=3721042
      mStream.Position := 0;
      crttext.Lines.LoadFromStream(mStream);
    finally
      mStream.Free;
    end;
Вложения
Тип файла: txt 23560463.txt (1.3 Кбайт, 12 просмотров)

Последний раз редактировалось Ivanius, 18.07.2013 в 19:08.
Ответить с цитированием
  #2  
Старый 19.07.2013, 04:28
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Это же сертификат ЦП по протоколу PEM X.509.V3 от RFC822 для ТОВ "Полтава-Інтелект-Сервіс", шифр ключа - sha1, переименуйте файл в *.crt и сами посмотрите. Или эту инфу как раз и надо считывать программно?

З.Ы. Чем самому парсить эту кегню, проще заставить делать это библиотеку OpenSSL, здесь под делфю порт лежит (можно ещё джедой, в смысле JEDI, но уж больно в ней ошибок много). Берёте оттуда класс TX509Certificate, где есть такие славные функциняшки как LoadFromFile, Issuer, Subject, NotBefore, NotAfter, Text etc, прям по списку из виндовой инфы по сертификату. И всё.

Последний раз редактировалось Alegun, 19.07.2013 в 07:22. Причина: Уточнение
Ответить с цитированием
  #3  
Старый 19.07.2013, 12:49
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию

Да я именно это и искал, но мне никто так и не смог обьяснить что в этой библиотеке конкретно нужно(openSSL) потому и начал искать обходные пути.
Вроде бы все нашел, разобрался, но вот что:
Код:
procedure TUCCCheck.opencrtClick(Sender: TObject);
var
  cert:TX509Certificate;
begin
  if FileOpen.Dialog.Execute then
    try
      cert:=TX509Certificate.Create;
      cert.LoadFromFile(FileOpen.Dialog.FileName);
        with crttext.Lines do begin
          Add(cert.Issuer);
          Add(cert.Subject);
          Add(DATEToSTR(cert.NotBefore));
          Add(DATEToSTR(cert.NotAfter));
          Add(cert.Text);
        end;
    finally
      cert.Free;
    end;
end;
Ав вылетает когда окрываю файл, пробовал другие ДЛЛки, там ошибку пишет и все.....
Понял в чем была проблема, брал все из libeay32.pas а не дллки
сейчас не компилируется ссылаеться что нету этого пас файла.
В общем просьба скинуть сюда весь комплект рабочих файлов OpenSLLUtils.pas, libeay32.dll, libeay32.pas
в принципе файл вродебы открывается, но считать ничего не получается...
Изображения
Тип файла: jpg 19-07-2013 14-29-56.jpg (95.0 Кбайт, 3 просмотров)

Последний раз редактировалось Ivanius, 19.07.2013 в 15:32.
Ответить с цитированием
  #4  
Старый 20.07.2013, 06:51
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Посмотрите пжлст ответ в личке.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Ivanius (22.07.2013)
  #5  
Старый 22.07.2013, 13:04
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию

можете привести пример или листинг вашей рабочей программы, возможно как-то что-то еще инициализоровать нужно?
поставил 7ю делфи и там создал тестовое приложение - тут все работает, почему в версия выше - нет мне не понятно.

Последний раз редактировалось Ivanius, 22.07.2013 в 13:18.
Ответить с цитированием
  #6  
Старый 22.07.2013, 14:59
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот пример, ничего там особенного нет, буквы после декодирования - русские, украинской i с двумя точками нет вообще (код есть, буквы в наборе символов ёк) - моя среда такое не поддерживает
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Ivanius (22.07.2013)
  #7  
Старый 22.07.2013, 17:22
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию

Да все нормально работает, я разобрался, в 2010 проблема в том что все строки как ANSI, а не WIDE, несовместимость, сейчас переписую с 2010 на 7.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter