[英]How to decrypt Windows Store DPAPI protected data from desktop app
我們正在編寫一種工具,用於將數據從Windows應用商店應用遷移到Windows桌面應用。 商店應用程序使用DPAPI保護了一些數據,我們需要能夠從桌面應用程序解密這些數據。
當調用ProtectedData.Unprotect方法時,我們得到一個CryptographicException聲明“參數無效”。 查看商店應用程序代碼,我可以看到DPAPI API與桌面.NET框架不同。 商店應用API的使用方式如下:
provider = new DataProtectionProvider("LOCAL=user");
...
IBuffer origBuffer = await this.provider.UnprotectAsync(encryptedBuffer);
桌面API如下所示
byte[] ProtectedData.Unprotect(byte[] encryptedBytes,
byte[] entropy,
DataProtectionScope scope);
我們嘗試使用DataProtectionScope.CurrentUser
和entropy null
但這會導致上述CryptographicException。 可以猜測,在內部,商店API使用特定的熵,否則我們無法解密數據。
有誰知道商店DPAPI API在后台進行的操作使我們可以解密商店數據?
抱歉,沒有直接答案,但是您不能從桌面應用程序引用WinRT API來解密此安全字節嗎?
這是在WPF應用程序中引用WinRT API的指南: http : //www.hanselman.com/blog/HowToCallWinRTAPIsInWindows8FromCDesktopApplicationsWinRTDiagram.aspx
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.