2014/11/27(Thu) 18:38:13 編集(投稿者)
返信が遅くなってしまい申し訳ありません。
ご返答ありがとうございます。
こちらですが自己解決いたしました。
X509Storeクラスを使い、該当のクライアント証明書を取得、WebRequestHandlerクラスのClientCertificates.Addで指定することで解決しました。
以下、サンプルコードです。
private static X509Certificate GetClientCert()
{
X509Store store = null;
try
{
store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
X509Certificate2Collection findResult = store.Certificates.Find(X509FindType.FindBySubjectName, "ABCD", false);
if (findResult.Count == 1)
{
X509Certificate cert = findResult[0];
return cert;
}
}
finally
{
if (store != null) store.Close();
}
return null;
}
static void Main(string[] args)
{
WebRequestHandler header = new WebRequestHandler();
header.ClientCertificates.Add(GetClientCert());
HttpClient client = new HttpClient(header);
〜
}