Поиск сообщества
Показаны результаты для тегов 'Delphi 10 Seattle'.
Найдено: 1 результат
-
Добрый день. Как использовать API WindowsRT для шифрования? (https://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.aspx) Конкретно - интересует RSA, генерация пары ключей, импорт/экспорт в файл, шифрование и дешифрование строки. Для начала я пытаюсь просто получить названия алгоритмов шифрования, чтоб потом их использовать. Даже не возвращаю их пока из функции, просто получаю: uses System.Threading, System.Types, System.Win.ComObj, Winapi.Security.Cryptography, Winapi.Foundation, Winapi.Foundation.Collections, Winapi.Storage.Streams, Winapi.CommonTypes, Winapi.Foundation.Types, Winapi.Winrt, System.Win.Winrt; procedure TForm1.Button1Click(Sender: TObject); var AsymmetricAlgoNames: Core_IAsymmetricAlgorithmNamesStatics; AsymmetricAlgoNamesInsp: IInspectable; GetAlgoNames: IFuture<boolean>; begin GetAlgoNames := TTask.Future<boolean>( function: boolean begin OleCheck(RoInitialize(RO_INIT_MULTITHREADED)); try OleCheck(RoGetActivationFactory(TWindowsString(SCore_AsymmetricAlgorithmNames), Core_IAsymmetricAlgorithmNamesStatics, AsymmetricAlgoNamesInsp)); AsymmetricAlgoNames := AsymmetricAlgoNamesInsp as Core_IAsymmetricAlgorithmNamesStatics; finally RoUninitialize; end; Result := true; end); GetAlgoNames.Start; end; После нажатия на кнопку: И сразу: Но иногда (рандомно) вместо первого исключения получаю: IFuture использую потому что если это делать в потоке гуя, при вызове RoInitialize ругается, что поток уже запущен и нельзя изменить его состояние. Delphi 10 Seattle, Windows 10 x64.
- 10 ответов
-
- WindowsRT
- криптография
-
(и ещё 3 )
C тегом: