zoukankan      html  css  js  c++  java
  • C:ProgramDataMicrosoftCryptoRSAMachineKeys 文件夹体积很大

    现象:大量调用.p12证书时,C:ProgramDataMicrosoftCryptoRSAMachineKeys 文件夹变得越来越大。

    调用代码:

    X509Certificate2 x509 = new X509Certificate2(p12FullName, hfMchId, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

    根据观察,这种实例化(X509Certificate2)调用的方式会使用MachineKeys 文件夹,不停的产生新文件。

    有限的解决办法:

    如果你只是用到p12证书的私钥或序列号,那么直接将私钥或序列号读取出来,存入变量、配置文件或数据库中。下次调用,直接使用提取好的私钥或序列号。

    提取私钥:

    X509Certificate2 x509 = new X509Certificate2(qdInfo.p12FullName, qdInfo.mchId, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
                string xmlPrivateKey = x509.PrivateKey.ToXmlString(true);

    提取序列号:

    X509Certificate2 x509 = new X509Certificate2(p12FullName, hfMchId, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
    
    
    string SerialNumber = x509.SerialNumber;

    --

  • 相关阅读:
    C++ map详解
    C++ vector和list的区别
    C++静态存储,动态存储
    C++文件输入和输出
    C/C++数组名与指针的区别详解
    C++运算符重载详解
    poj3177Redundant Paths tarjan缩点
    C++编译过程与内存空间
    [JAVA · 0基础]:19.容器类
    FFmpeg总结(六)AV系列结构体之AVPacket
  • 原文地址:https://www.cnblogs.com/runliuv/p/14091977.html
Copyright © 2011-2022 走看看