2016-11-15 2 views
1

私はすぐにネットワーク通信用にhttpsを含める必要があるアプリケーションに取り組んでいます。これ以上の懸念事項は、URLにすべてのユーザー資格情報を送信していることに気づいたときに発生しました。これは、私たちのユーザー名とパスワードが公開されているためです。多くの研究の結果、サーバーのSSL証明書の公開鍵を固定することが進んでいるようです。私はTrustKitを使用して証明書の公開鍵を固定することにしたので、アプリケーションで証明書全体を固定する必要はありません。そうすることで、期限切れになって証明書を交換し続ける必要がなくなり、新しいIPAを構築したり、Appleに提出する必要がなくなります。これを稼働させるために、私はいくつかの質問に答える必要があります。TrustKitを設定する

私はTrustKitを使い始めるのに3つの主なことがあると思います。

1.は、私たちは私たちのするinfo.plistでそれらを使用する予定と含まれドメインを知っておく必要があります。

  • QUESTION:このドメインのサーバーは、それがすべてを処理するために必要なものTrustKitを取得するために、すべての準備を行う必要がありますか?

2.私はまた、Info.plistファイルに含まれる必要がをハッシュ2の公開鍵を必要としています。

  • QUESTION:どのように私は、証明書の公開鍵ハッシュを抽出するのですか?どこからこれらのハッシュを手に入れますか?

3.は、私は、公開鍵アルゴリズムを使用するかを知る必要があります。

  • 質問:これはなんですか?どのようなものを使用するのか

は、一度このすべてはTrustKitがジョブ長期それをだないことを確認してくださいことができるように、私はappwise行う必要がある何かがある、場所にありますか?

答えて

0
  1. サーバー自体は特別な操作を行う必要はありませんが、ops /インフラストラクチャチームは機能します。 2.およびバックアップピンを参照してください。

  2. TrustKitは、探しているハッシュとアルゴリズムを生成するPythonスクリプトを提供しています:https://github.com/datatheorem/TrustKit/blob/master/get_pin_from_certificate.py。ドメインのCA証明書(これは最初のハッシュになります)でスクリプトを使用し、ドメインのバックアップ証明書を購入した別のCA証明書でスクリプトを使用する必要があります。このバックアップピンは、アプリケーションをレンジすることなく、サーバー上の(最初の)証明書をすばやくローテートする必要がある場合に必要です。詳細については、https://noncombatant.org/2015/05/01/about-http-public-key-pinning/で説明します。

  3. 2.で説明したスクリプトもアルゴリズムを返します。サーバー証明書に埋め込まれている公開鍵のアルゴリズム(RSA、ECDSA)です。これは、iOSが証明書のアルゴリズムを自動的に検出するためのAPIを提供していないため、TrustKitが必要とします。

1

証明書(およびより多くの情報)から、アルゴリズムとハッシュを取得するには、

https://www.ssllabs.com/ssltest/

を使用します
関連する問題