これはCのための方法です.Cの助けになるかもしれません。私は本当にCのコードに精通していません。
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
private static X509Certificate GetClientCert()
{
X509Store store = null;
try
{
store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
var certs = store.Certificates.Find(X509FindType.FindBySubjectName, "Integration Client Certificate", true);
if (certs.Count == 1)
{
var cert = certs[0];
return cert;
}
}
finally
{
if (store != null)
store.Close();
}
return null;
}
証明書を取得し、エクスポートするためのコードが
//This will bring up the selection prompt to select your cert
X509Certificate c = GetClientCert();
//The password should be the pin converted to a secure string variable.
//note the code above will not prompt for a pin if you want this you will have to build the prompt yourself. It will only select the certificate.
c.Export(X509ContentType.Cert, securestring password);
ある輸出方法は、私は1つは、あなたが参照しているフォーマットであるかどうかわからないにエクスポートするために、様々な種類があります。これはあなたがプレイする必要があるものです。あなたがCでそれらのライブラリを使うことができるかどうかは確かではありませんが、あなたがそれらを投稿することができる場合に備えてです。
CACカードを挿入すると、クライアント証明書が自動的に証明書ストアにコピーされると言っていますか?私は最終的に.pem形式の証明書が必要です(可能ならば)。 – kmehta
Windows Credential Managerはどうですか? – bahrep