有没有办法以编程方式将.p12/pfx
文件导入智能卡?我知道它适用于certutil
:
certutil -user -p "pw" -csp "csp" -importpfx path
我正在使用“Microsoft Base Smart Card Crypto Provider”
通过certutil它正在工作,因此我确信它也应该使用c#(可能是CRYPTOAPI)...我只是不想使用那种(开始cmd添加“导入字符串”):
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = strCmdText;
process.StartInfo = startInfo;
process.Start();
导入pfx!
但我不知道这可以在c#中以编程方式工作。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用C#将PFX / P12文件导入智能卡,方法是结合使用提供PFX / P12文件解析的类X509Certificate2和P / Invoking CryptoAPI函数来执行实际导入。
我已在C#控制台程序中实现了这一功能,该程序可复制certutil导入功能。您可以从http://www.idrix.fr/Root/Samples/PfxImporter.cs获取其源代码。
如果有兴趣的话,我也用C ++实现了这一点。以下是来源:http://www.idrix.fr/Root/Samples/PfxImporter.cpp。
最后一点:如智能卡微型驱动程序规范中所述,必须修改两个注册表项以允许使用MS Base CSP进行导入操作: