5

iOSアプリで証明書のピン留めを作成し、2つのオプションがあることを確認する必要があります1-証明書をそのまま確認する2-証明書の公開鍵のみを確認する

私の場合、アプリは常にバックエンドサーバーに接続し、ユーザーがログインしようとすると、セキュリティ上の問題のために別のサーバーにログインする必要があります。また、このサーバーはユーザーの種類に応じて変更される場合があります

そのため、バックエンドサーバーは、各ログインURLサーバーのサーバー証明書公開キー文字列を含むいくつかのURLを私に送信し、ユーザーがログインするときにキーの類似性を確認する必要があります

また、このアプリは iOS と Android 用に作成されています。

私の質問は、ログイン サーバー証明書から公開鍵を (文字列として) 取得して、格納されているものと一致させることはできますか? また、その鍵は Android のものと似ているのでしょうか? そのため、バックエンド サーバーは 1 つの鍵のみを送信します。とアンドロイド?

4

1 に答える 1

0

私が理解しているように、

  1. アプリに保存されている証明書があります。

    公開鍵をキーチェーンに保存して使用できます。「SecItemAdd」を使用して、アプリケーション キーチェーンに証明書を追加します。保存したら、「SecItemCopyMatching」メソッドを使用して公開キーをコピーできるはずです。

  2. ユーザーがログインすると、アプリは新しい証明書への URL を取得します。

  3. 証明書が異なる場合は、新しい証明書をダウンロードして使用する必要があります。

    ポイント 2 と 3 については、どちらの方法でもキー データをダウンロードする必要があります。ということで、毎回証明書をダウンロードして、公開鍵を取得。文字列比較はできませんが、バイト比較を行って等しいかどうかを確認することはできるはずです。等しくない場合は、「SecItemUpdate」を使用して証明書をダウンロードした証明書に置き換えます。

  4. これは iOS と Android で同じでしょうか?

    証明書が安全な送信/PKI に使用されることを願っています。したがって、同じ公開鍵が iOS と android で機能します。

于 2014-05-14T21:22:54.150 に答える