この質問は、クライアントアプリケーションでSSLピンニングをWeb APIと証明書 の有効期限に使用することに関するものです。SSLのピン設定と証明書の有効期限
シナリオ:
私が所有してexample.comとなどAPIがホストされているサブドメイン、持っている:api.example.com
私が使用したいがapiをのSSLにすると、サブドメインのSSL証明書が作成されます。
証明書を取得した後、私が持っている:
- A公開証明書
- A中間証明書
- プライベートキー
それは私がこれらの証明書をインストールすることを私の理解です私のウェブサーバー。
クライアントアプリケーションがapiに接続したいと考えています。中間者様式 の攻撃を軽減するために、私はSSLピンニングを使用したいので、クライアントは自分のapiと通信します。 誰かがそれを偽装するのではありません。
クライアントアプリケーションにピン接続するには、2つの選択肢があります。いずれかを公開するか、中間の 証明書を使用します。
私はこれを実装しています。
api.example.comの証明書が期限切れになるとどうなりますか?
クライアントアプリケーションが動作しなくなることは私の理解です。
パブリック/中間/プライベートアイテムの完全なセットを再度生成する必要がありますか? 新しい公開または中間証明書をアプリに入れますか?
質問:
私はまだapi.example.com上の証明書が更新されるまで、クライアントアプリが仕事をしたいと思います。 もちろん、新しい証明書をクライアントアプリケーションに入れることができますが、ロールアウトなどの作業には時間がかかります。
どうすれば対応できますか?
私はGoogleが毎月自分の証明書を更新し、何とか同じ公開鍵を維持するために管理していることを読んだ:それが可能だ場合、その解決策は、単にサーバーから公開鍵を抽出することであるHow to pin the Public key of a certificate on iOS
とローカルに保存されている公開鍵と照合してください...しかし、Googleはどのようにしていますか?
おかげ
クリス