前提
WEB APIシステムにおいて、不正アクセスを防止するために、
SSLとクライアント証明書を使ってシステムを作ろうと考えています。
それをするのに必要な証明書関連の設定は、以下の手順で行うものだと認識しています。
サーバー
自己証明書を作成・インストール
クライアント証明書を作成・クライアントに配布
クライアント
クライアント証明書を受け取る。・・・①
パスワードを受け取る。・・・②
クライアント証明書をパスワードを指定してインストール。
知りたいこと
そして、上記手順内の
①クライアント証明書の受け取り
②パスワードの受け取り
を具体的にどのようにするのが一般的なのか、そして安全なのかを知りたいのです。
また、クライアント証明書の具体的な管理についても知りたいです。
実装するコンピューターは、サーバーもクライアントもWindowsです。
ご教授の程、よろしくお願い致します。
補足
取引関係のある特定のユーザがこのWEB APIにアクセスすることを想定しています。
このため、サーバーが悪意を持った人によって作られたことを心配する必要がないと考え、自己サーバー証明書でも問題ないと考えています。
回答者様からのご指導を受けた結果のまとめ
<結論>
SSLクライアント証明書の配布は、正式な認証局に任せた方が良い。
サーバー証明書もクライアント証明書もどちらも正式な認証局による発行が必須である。
SSLの暗号通信機能だけでも利用したいなら、クライアント証明書を利用せず自己証明書だけを利用する。
<理由>
SSLクライアント証明書を配布するには厳しい審査が必要。その作業を自前で行うのは無理がある。
環境
Microsoft Windows 10 Pro (Version 1903)
Microsoft Visual Studio Community 2019
Microsoft .NET Framework 4.7.2
回答3件
あなたの回答
tips
プレビュー