0

社内に内部 CA を確立しようとしています。これを行う主な目的の 1 つは、クライアントとサーバー アプリケーション (両方とも Windows OS ベース) 間の TLS 接続を確立するために使用する証明書をお客様に発行することです。私は現在、次の制約の下で作業しています。

  • サーバー証明書は、サーバーの顧客ごとに発行され、サーバー アプリケーションがそれを使用して TLS セッションを確立できるように、顧客のサーバーにインストールする必要があります。
  • CA の信頼されたルート証明書はクライアント アプリケーションにパッケージ化され、クライアント アプリケーションがサーバー証明書を検証するために使用できるように、アプリケーションと共にサイレント インストールする必要があります。(インストーラーは、クライアント マシンでの管理アクセス権を持っていると想定されます。)
  • 信頼されたルート証明書は、クライアント マシン上のクライアント アプリケーションのすべてのユーザーが利用できる必要があり、ユーザーがアクセスするためにパスワードを要求する必要はありません。
  • 信頼されたルート証明書をローカル マシン証明書ストアの「信頼されたルート証明機関」セクションに配置することをためらっています。これは、単純にアプリケーションを認証するよりも広い範囲で使用できるためです (たとえば、IE の Web ページを認証するため)。 ) ルート証明書が危険にさらされた場合でも、私たち自身のアプリケーションへの損害を制限したいと考えています。

これらの制約が満たされるように、サーバー証明書と信頼されたルート証明書をサーバー マシンとクライアント マシン (どちらも Windows OS を使用) のどこにどのようにインストールすればよいですか?

4

1 に答える 1

0

Common Application Data フォルダーは、CA 証明書とサーバー証明書の両方に適した場所です (サーバーの秘密鍵ではありません!)。

インストールの「方法」は、パッケージングと配布方法によって異なります。WiX の場合は、次のようなものを使用します。

<Directory Id="CommonAppDataFolder" Name="ComApptDt" >
    <Directory Id="ProductAppData" Name="ProductName" >
    <!-- add reference to the appropriate certificate here -->
    </Directory>
</Directory>

コード内の Common AppData フォルダーの場所の決定は、プログラミング言語とフレームワークによって異なります。.NET には、Environment.SpecialFolders列挙があります。ネイティブ C++ の場合、C++を使用して Windows でアプリケーション データ パスを取得するにはどうすればよいですか? 始めるには良い場所です。

于 2012-02-12T07:17:03.463 に答える