私はスタンフォードのSecure Remote Password protocolについて読んできました。それは、iPhoneアプリが動作する環境の種類に最適です。残念ながら、私はプロトコルの良いObjective-C実装を見つけることができませんでした。また、私が知る限り、crypto libraries in the SDKを実装してください。iPhone用のセキュアなリモートパスワードの実装
誰もそのような実装を知っていますか?
私の最善の策は何だろうと思いますか?私はbuild OpenSSL into my appを試すことができましたが、それは本当に大きなのような感じですこの小さな小片に追加するもの。 JavaScriptまたはJavaの実装をObjective-Cに変換しようとする可能性がありますが、これは暗号の第1のルールに違反しています(テスト済みの実装を使用してください)。
フォローアップアイテムのカップル:まず、コンテキストからは明らかになるはずですが、クローズドソースの商用利用と互換性のあるものが必要です(リンク先のJavaScript実装、 AGPLです)。
また、私がOpenSSLになってしまえば、SRPを使用する例を見つけるのが本当に困っています。彼らのサイトはコードがそこにあると主張していますが、OpenSSL documentation、またはソースコードをグレープする(v 0.9.8k)のいずれの証拠も見つけられません。 (または私は真剣に物事を誤読だ、と私はまだOpenSSLのソースにtheir patchesのいずれかを適用する必要がありますか?)
編集:私は本当にこの時点で使用することができますことは、すぐに使用できるコードです
、かなり完成したレシピ、またはOpenSSLでSRPを使用する例などです。 protocol docsで最初から一緒に何かをまとめることができると私は確信していますが、私が助けることができれば、本当にホイールの再発明を避けようとしています。
デバイスのOpenSSLライブラリはどのくらい大きくなってしまいますか? (リンカが未使用のビットを残すことができるように十分に構造化されていますか?) –
libcrypto.a + libssl.aは2以上です。5Mであるが、最終バイナリのようなものではない。私が調査した最後のことを覚えていれば、OpenSSLは最終的なバイナリサイズに約400〜500kを追加しました。私が望む以上に、私が恐れていたほどではありません。コンパイル時間を改善するためにOpenSSLのファイル数を減らそうとしましたが、いくつかの関数しか必要ではなかったので、すぐには使えませんでした。 OpenSSLは、リンカーが分裂するのに十分な構造ですが、コンパイラーにとっては十分ではありません。 YMMVはあなたが使用する機能に依存します。 –