| ||||
| ||||
Wincrypt.h - непомогла так и выдает ошибки. Придется идти длинным путем :-( Почему то выдает ошибку при выполнении Code:87 - Параметр задан неверно. Flags:= 0; name:=’my’; FCertStore:= CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0,ConvStoreType(StoreType), PWideChar(Name)); if not Assigned(FCertStore) then RaiseLastOSError; str:=’user99’; Context:= CertFindCertificateInStore(FCertStore, MyEncodingType,0, CERT_FIND_SUBJECT_STR, PWideChar(Str), nil); if not Assigned(Context) then RaiseLastOSError; InFile:=TMemoryStream.Create; InFile.LoadFromFile(’c:\aa.txt’); tbenc_len:=InFile.Size; SetLength(tbenc, tbenc_len); New(EncryptAlgorithm); EncryptAlgorithm^.pszObjId:=PChar(’1.2.643.2.2.21’); //szOID_CP_GOST_28147; Size:=SizeOf(EncryptParams^); New(EncryptParams); EncryptParams^.cbSize:=Size; EncryptParams^.dwMsgEncodingType:=MyEncodingType; EncryptParams^.hCryptProv:=FProvider; EncryptParams^.ContentEncryptionAlgorithm:=EncryptAlgorithm^; Win32Check(CryptEncryptMessage(EncryptParams, 1, @Context, PBYTE(tbenc) , tbenc_len, nil, size)); ошибку выдает на последней строчке. Может кто уже переписывал криптование для для дельфей. |