如何清除Universal Windows Platform应用程序中的证书缓存?

时间:2016-01-26 15:36:06

标签: c# c++ ssl uwp

UWP应用程序的应用程序数据存储在C:\ Users \ [用户名] \ AppData \ Local \ Packages \ [package_id]

子文件夹AC \ Microsoft \ CryptnetFlushCache \ MetaData似乎包含通过HttpClient安全访问的网站记录。研究表明该文件夹及其兄弟是SSL / TLS的缓存。

如何在我自己的程序中清除此缓存?

1 个答案:

答案 0 :(得分:1)

在UWP应用中,存在与ApplicationData相关的API,例如ApplicationData.ClearAsync方法,但它只能从本地,漫游和临时应用数据存储中删除所有应用程序数据。

我们可以使用Directory.Delete方法删除此AC文件夹。

例如:

public static void Clean()
{
    try
    {
        StorageFolder localDirectory = ApplicationData.Current.LocalFolder;
        string path = localDirectory.Path;
        path = path.Substring(0, path.LastIndexOf("\\")) + @"\AC\Microsoft\CryptnetFlushCache\MetaData";
        Directory.Delete(path, true);
    }
    catch (Exception ex)
    {
        Debug.WriteLine("ERROR CLEANING CACHE: " + ex.Message);
    }
}

但是没有文档可以描述存储在此文件夹中的详细文件,因此这可能会导致您的应用出现意外行为/结果。