Статус: Новичок
Группы: Участники
Зарегистрирован: 01.10.2009(UTC) Сообщений: 1 Откуда: г.Ставрполь
|
Здравствуйте подскажите пожалуйста по КриптоПро
вот мой код, он отрабатывает нормально но в Crypt.ParseCert(DER,$3FFFF,Certificate) выдает ошибку EOleSysError с сообщением 'не совпадение типов'. Плиз подскажите в чем может быть дело ит как его побороть.
Var Crypt: OleVariant; AltName,FindParam,Certificate:OleVariant; V ,DER: OleVariant; fd:file of integer; i,n: integer; begin Crypt:=CreateOleObject('pki.vcert'); Crypt.Initialize('testlocal',1); //Flag_Init_Nocrlupdate
AltName:=CreateOleObject('pki.AltName'); AltName.organizationName:='ООО "Доминант"'; Certificate:=CreateOleObject('pki.Certificate'); Certificate.subjectAltName:=IDispatch(AltName); Certificate.fields:=512; // Field_SubjectAltName FindParam:=CreateOleObject('pki.FindParam'); FindParam.flag:=8; // Flag_Find_All FindParam.info:=$3FFFF; // Field_All FindParam.certTemplate:=IDispatch(Certificate); Crypt.FindCert(FindParam,V);
//Запишем DER-кодировку сертификата в файл if VarIsArray(V) then begin DER:=V[0].certEncoded; AssignFile(fd, 'C:\DER.dat'); Rewrite(fd); n:=VarArrayHighBound(DER,1)-VarArrayLowBound(DER,1)+1; Write(fd,n); for i:=0 to VarArrayHighBound(DER,1)-VarArrayLowBound(DER,1) do begin n:=DER[i]; Write(fd,n); end; CloseFile(fd); end;
AssignFile(fd, 'C:\DER.dat'); reset(fd); Read(fd,n); DER:=VarArrayCreate([0,n-1],varByte); for i:=0 to n-1 do begin Read(fd,n); DER[i]:=n; end; FindParam:=Unassigned; AltName:=Unassigned; V:=Unassigned;
Certificate:=Unassigned; Crypt.ParseCert(DER,$3FFFF,Certificate); >>>EOleSysError
CloseFile(fd);
Crypt.ShowCertificate(DER);
FindParam:=Unassigned; AltName:=Unassigned; V:=Unassigned; Certificate:=Unassigned; end;
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close