2016-12-21 7 views
2

キャッシュクラスがfinalに設定されているため、独自の実装を作成できません。機密データがあるためキャッシュを暗号化する必要があります。私は迎撃器を試してみるが、それを暗号化して解読するにはCacheResponseInterceptorのようなものはない。 OkHttpを使用してこれを行うにはどうすればよいですか?キャッシュを暗号化するOkHttp android

+0

[この問題のコメント](https://github.com/square/okhttp/issues/1605#issuecomment-162013369)に基づいて、これが直接的に可能ではないと思われます。 OkHttpのキャッシングを無効にし、独自のキャッシングを行う必要があるかもしれません。 – CommonsWare

+0

@CommonsWareはい、どうですか?私自身のキャッシュレスポンスを構築することは可能ですか?もしそうなら、私はインターセプターでそれをやろうとします。 –

+1

いいえ、私は自分のキャッシュをOkHttpの外で行うことを意味します。あなたはOkHttpのキャッシュを無効にします。レスポンスを受け取ったら、そのデータと関連するメタデータ(キャッシュヘッダーなど)を暗号化されたデータストアに書き込みます。後でリクエストする必要がある場合は、OkHttpに触れる前に暗号化されたデータストアを最初にチェックし、独自のキャッシュが古くなっていたり、このデータがない場合にのみOkHttpを使用してください。これは苦痛で、[あなたのリクエストをOkHttp 4.0ウィッシュリストに追加しました](https://github.com/square/okhttp/issues/2903)、FWIW。 – CommonsWare

答えて

0

@CommonsWareそれは私が望んでいたほど実用的ではありませんでしたが、最終的には暗号化しないことに決めました。データは、この回避策で時間を浪費するほどには敏感ではありません。ウィッシュリストに追加していただきありがとうございます。次のリリースでそれを含めることを願っています。

関連する問題