安全なアプリケーションのためには、ダイアログボックスで証明書を選択する必要があります。 C#を使用して証明書ストアまたはその一部(例:storeLocation="Local Machine"
およびstoreName="My"
)にアクセスし、そこからすべての証明書のコレクションを取得するにはどうすればよいですか?あなたの助けを前にありがとう。C#の証明書ストアから証明書の一覧を取得する
答えて
はい - X509Store.Certificates
プロパティは、X.509証明書ストアのスナップショットを返します。
X509Store store = new X509Store("My");
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 mCert in store.Certificates){
//TODO's
}
これを試してみてください:
//using System.Security.Cryptography.X509Certificates;
public static X509Certificate2 selectCert(StoreName store, StoreLocation location, string windowTitle, string windowMsg)
{
X509Certificate2 certSelected = null;
X509Store x509Store = new X509Store(store, location);
x509Store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection col = x509Store.Certificates;
X509Certificate2Collection sel = X509Certificate2UI.SelectFromCollection(col, windowTitle, windowMsg, X509SelectionFlag.SingleSelection);
if (sel.Count > 0)
{
X509Certificate2Enumerator en = sel.GetEnumerator();
en.MoveNext();
certSelected = en.Current;
}
x509Store.Close();
return certSelected;
}
Linqはこれをより簡単にします:x509Store.Certificates.OfType
@JonathanDeMarks:「DC = mysite、DC = com」は正確に何を意味していますか?これらの例のどれも_specific_証明書を取得する方法を示していないようです... – Nyerguds
@Nyerguds質問は次のとおりです。C#の証明書ストアから証明書のリストを取得します。もう一度質問を作成してください。 – Cobaia
それを行うための最も簡単な方法は、あなたがしたい証明書ストアを開設してからX509Certificate2UI
を使用することです。
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var selectedCertificate = X509Certificate2UI.SelectFromCollection(
store.Certificates,
"Title",
"MSG",
X509SelectionFlag.SingleSelection);
'X509Certificate2UI'を使うには' System.security.dll'への参照を追加する必要がありますが、これはcharm +1 ':)'のように動作します。また、ユーザーキーストアを使うために、私は 'StoreLocation.LocalMachine'の代わりに' StoreLocation.CurrentUser'を使います。 – albciff
- 1. android証明書ストアからクライアント証明書を取得する方法
- 2. Windows証明書ストア(C# - ASP.Net)から特定の証明書を探す
- 3. Windows証明書ストア
- 4. Windows証明書ストアで証明書を明確に認識
- 5. RabbitMQ Windows証明書ストアにSSL証明書を保存する
- 6. サーバーの証明書を置くべき証明書ストア
- 7. nodejsを使用して証明書ストアからp12証明書をダウンロードする
- 8. Windowsサービス証明書ストアのx509証明書にC#でアクセスする
- 9. ブラウザと証明書ストア
- 10. OpenSSLでWindows証明書ストアの証明書と秘密鍵を使用する
- 11. 証明書 - 証明書ストアにはいつインストールされますか?
- 12. 私の個人ストアから証明書を取得する方法
- 13. ECDSA証明書でURLからXML文書を取得する
- 14. Windows証明書ストアの同等のLinux
- 15. windows-my証明書ストア同等のLinux
- 16. Playストア:ベータテスト&プロダクションAPK別の証明書
- 17. 証明書チェーンを取得する
- 18. Java証明書とSSL証明書
- 19. 自己ホスティングwcfサーバー - 証明書ストアの代わりにファイルから証明書をロードする
- 20. 証明書ストアにクライアント証明書を使用していません
- 21. サービスのみのWCF証明書認証(クライアント証明書なし)
- 22. HCERTSTOREにmozilla firefox証明書ストアにアクセス
- 23. SAML署名証明書 - どのSSL証明書タイプですか?
- 24. SSL証明書:ローカル発行者証明書を取得できませんmailgun
- 25. RSACryptoServiceProviderのストアからの証明書を使用
- 26. OpenSSL証明書からサブジェクトの別名を取得する
- 27. p12ファイルからCA証明書をプログラムで取得し、証明書リストを注文しますか?
- 28. ストアからの証明書削除後のSSL接続
- 29. Azureクラウドサービスでx509証明書を取得
- 30. javascriptでURL SSL証明書を取得
タイプミスの可能性を排除するには、StoreNameとStoreLocationの列挙を使用する必要があります。 –