私はWCFサービスのプログラミングを始めたばかりで、地元の警察署で最初のサービスを稼働させました。彼らはこれを使用して、夜間の駐車違反についてプレートを検索します。メッセージセキュリティと暗号化用のx509証明書を実行しています。
インストール時に証明書をパッケージ化する方法はありますか、または使用している認証に応じて、サービスが証明書を作成してクライアントにダウンロードする方法はありますか?
今、私はそれをそれぞれのタフな本に手動でインストールするつもりですが、プロセスをもっと自動化したいと思います。
証明書の配布は、ほとんどのエンタープライズIT部門の標準的なタスクであり、CAルートを変更するアプリケーションはややタブーです。
サーバー証明書の公開鍵を各クライアントにプッシュすることについて話している場合は、信頼されたルート証明機関をグループポリシーオブジェクトに追加するを参照してください。相互TLS認証を使用するためのクライアント証明書の作成について話している場合は、「ユーザー証明書の展開」を参照してください。
代わりに、アプリケーションがコードからのみアクセスするエフェメラル証明書について話している場合は、それをアセンブリの埋め込みリソースとして追加し、X509Certificate2(byte[])
コンストラクターを介して使用できます。
アプリケーションのユーザーは誰でも好きなようにできるので、アプリケーションリソースに秘密鍵を入れないように注意します。PKIは、秘密鍵を共有する必要がないように設計されています。とにかく、Jeff Valoreはそうする方法を示しており、それを以下に再現しました。
var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyCert.cer");
var bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
var cert = new X509Certificate2(bytes, "certPassword");
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加