アクセスするにはクライアント証明書が必要な MOSS 2007 ファームがあります。組み込みの SharePoint サービスを使用してサイトからデータを取得するメソッドをいくつか作成しました。ただし、ローカルのテスト環境以外では、サービスにアクセスするにはクライアント証明書が必要です。
証明書を取得するための私の方法は次のとおりです。
private static X509Certificate2 GetCertCreds()
{
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
try
{
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectKeyIdentifier, "SiteIdentityCertificateSerialNumber", true);
Assert.IsNotNull(certs);
return certs[0];
}
finally
{
store.Close();
}
}
次に、使用中に次のようなものが必要です。
using (ListsServiceProxy.Lists service = new ListsServiceProxy.Lists())
{
service.Crendentials = GetCredentials();
XmlNode idResultsNode = service.GetListItems(documentLibraryName, null, queryNode, viewNode, "1", optionNode, null);
}
型が一致しないため、これはコンパイルされていません。私はこれについて間違った方法で進んでいますか?そうでない場合、証明書をサービス資格情報として使用する方法はありますか? 最終的に私がやろうとしていることは、X509Certificate2 を ICredentials に変換することだと思います。ヘルプやアドバイスをいただければ幸いです。