26.10.2005 11:21:29Некорректный серийный номер сертификата Ответов: 2
Esler
Беру из сертификата серийный номер:
s:=LPCSTR(pCert.pCertInfo.SerialNumber.pbData);
for i:=1 to pCert.pCertInfo.SerialNumber.cbData do
begin
s1:=s1+IntToHex(ord(s[i]),2)+’ ’;
end;
Возвращается такой: 04 00 00 00 16 00 00 00 DC 39, в то время как он такой:
2e 78 fb 71 00 02 00 00 00 04.
Подскажите почему так получается? Или я что-то не так делаю???
 
Ответы:
26.10.2005 14:06:48Альт
О... паскаль %) я считал вот так... создаю буфер в два раза больше + 1 байт под конец строки

iLen := m_Blob.cbData * 2 + 1;

И перевожу
Classes.BinToHex( PChar( m_Blob.pbData ), pchResult, m_Blob.cbData );

Только он возвращает строку в обратной последовательности... потому либо менять символы местами либо написать аналог BinToHex но через downto
27.10.2005 6:12:26esler
большон спасибо
помогло