問題タブ [pinning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS で AFNetworking を使用して、ユーザーが自己署名 SSL 証明書を信頼してピン留めできるようにするにはどうすればよいですか?
企業で使用される iOS アプリケーションに取り組んでいます。私たちのアプリは、サーバー ソフトウェアを展開した会社によって生成された自己署名証明書で構成されている可能性があるサーバーと通信します。
私たちの iOS アプリケーションは、SSL ピンニングを可能にする AFNetworking を使用しています。しかし、これは作成時にアプリ バンドルの一部として含まれていた SSL 証明書のみをピン留めするという印象を受けます。iOS デバイスが後で認識する証明書を使用することはできません。
アプリケーションがサーバーと安全に通信できるように、顧客が (おそらくプロファイルを介して) 自己署名証明書をプッシュする方法を探しています。方法はありますか?それとも、AFNetworking をスキップして Foundation クラスを直接使用する必要がありますか。
この質問を明確にするのに役立つコメントも歓迎します。
更新: 私と同じように混乱したかもしれない他の人のために。ピン留めが重要なトピックであることは理解していますが、プロトタイプ アプリから無効な証明書のサポートを削除するという最優先事項と混同していました。私が欲しかったのは、ユーザーが自己署名証明書を明示的に信頼する方法でした。これは簡単です。iOS デバイスにプロファイルとして追加するだけです。しかし、開発で使用していた自己署名証明書が正しくないため、iOS がそれらを信頼しないという事実にもつまずいていました。「適切な」自己署名証明書を生成する方法については、http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/を参照してください。自己署名証明書が信頼できるようになったので、ピン留めの使用方法についてフォローアップします。
android - SOAP Web リクエスト ANDROID の自己署名証明書
Get や post リクエストなどの SOAP リクエストに自己署名するにはどうすればよいですか。同じ例やチュートリアルを提供してください。リンク先も参考にしましたが、SOAPリクエストのグラフができませんでした。
c# - 隣接する固定サイズのバッファを固定する必要がありますか?
古い C++ アプリを C# に移植する作業を行っていますが、私のソリューションが実際に実現可能かどうかはわかりません。
頭痛の種のほとんどは、アプリのファイル形式が、本質的にファイルにダンプされた (かなり大きな) 構造の一部に過ぎないことです。楽しい部分は、システムに関係なく、整数がビッグエンディアンの順序である必要があるということです。そこで、バイト オーダーを反転するためのユーティリティ メソッドをまとめ、多数の固定サイズ バッファーを使用して C++ レイアウトを複製する構造を構築しました。この時点でのインポートは、ファイルをメモリにコピーしてMarshal.PtrToStructureを使用するのと同じくらい簡単です。これは、手動で読み込むよりもはるかに簡単ですが、構築時にバイト オーダーを反転させることはできません。
そのため、フォーマットは、個別のバッファと固定バッファの両方で、短い変数にかなり大きく依存しています。非常に多くの固定ステートメントをまとめて、バッファーをフリップ用にピン留めする過程で、私は不穏な考えを持っていました。
私が間違っていない限り、バッファーの 1 つだけを固定すると、構造全体が固定されます (構造の一部を残りの部分から離して再配置しても意味がありません)。だから、私はこのようなことを試しました:
アイデアは、ユーティリティメソッドがポインターとカウントで機能し、ポインターを配列であるかのように反復処理することです。最初はバッファーを反転するために書きましたが、ここで値を見ました。理論的には、これは適切に機能しているようです。すべての変数は、それほど手間をかけずに 1 回の呼び出しで反転されます。私が知る必要があるのは、私のコンセプトが実際に安全かどうかです。すべてを手動で固定するのは非常に面倒です。構造が巨大であると言いましたか?
変数を固定すると、構造全体が固定され、この種のトリックが可能になりますか、それとも、これがメモリをぎゅうぎゅう詰めにしなかったのは幸運でしょうか? これまでのところ、私のテストではイエスと言われていますが、確実に言うことはできません. 私はむしろ私にこれを爆破させたくない.
iphone - 証明書の公開鍵文字列「SecKeyRef を NSString に変換」iOS を取得する方法、およびこの鍵文字列がすべてのプラットフォームで類似している場合は?
iOSアプリで証明書のピン留めを作成し、2つのオプションがあることを確認する必要があります1-証明書をそのまま確認する2-証明書の公開鍵のみを確認する
私の場合、アプリは常にバックエンドサーバーに接続し、ユーザーがログインしようとすると、セキュリティ上の問題のために別のサーバーにログインする必要があります。また、このサーバーはユーザーの種類に応じて変更される場合があります
そのため、バックエンドサーバーは、各ログインURLサーバーのサーバー証明書公開キー文字列を含むいくつかのURLを私に送信し、ユーザーがログインするときにキーの類似性を確認する必要があります
また、このアプリは iOS と Android 用に作成されています。
私の質問は、ログイン サーバー証明書から公開鍵を (文字列として) 取得して、格納されているものと一致させることはできますか? また、その鍵は Android のものと似ているのでしょうか? そのため、バックエンド サーバーは 1 つの鍵のみを送信します。とアンドロイド?
ios - 有効な証明書が展開されている場合、iOS AFNetwork SSL ピニング モードは追加のセキュリティ ボーナスを提供しますか?
私の理解では、SSL ピンニングとは、サーバーの公開鍵または証明書を、事前にクライアントにバンドルされているコピーと比較することです。
Stackoverflow で、多くの開発者が AFNetwork ライブラリによる SSL ピニングを使用しているのを見ましたが、ほとんどの開発者はそれを自己署名証明書と共に使用しています。
CA から有効な証明書を購入し、正常に機能することを確認するテストに合格しました。つまり、次のように設定しましたが、うまくいきました
私が疑問に思っているのは、ピニング モードを AFSSLPinningModePulicKey に設定すると、有効な証明書が提供するものに加えて、アプリケーションがサーバーとの通信でより安全になるということですか?
どうもありがとう。
android - Parse では、ローカル データストアからオブジェクトの固定を解除すると、オブジェクトが指すオブジェクトも削除されますか?
Parse SDK ドキュメントでは、別のオブジェクトを指すオブジェクトを固定すると、そのターゲット オブジェクトも固定されると記載されています: https://parse.com/docs/android_guide#localdatastore-pin
保存と同様に、クラウドからフェッチされた場合、gameScore が指すすべてのオブジェクトとファイルが再帰的に保存されます。オブジェクトへの変更を保存するか、Parse から新しい変更をフェッチするたびに、データストア内のコピーが自動的に更新されるため、心配する必要はありません。
ただし、最初のオブジェクトとそれが指しているオブジェクトの固定を後でどのように解除するかは記載されていません。(基本的にはトランザクションを元に戻す)、クラウドからそれらのオブジェクトを削除しますか?
あなたは:
A.) 最初のオブジェクトを参照するすべてのオブジェクトの固定を解除し、DeleteEventually を使用してターゲット オブジェクトを削除します。
また
B.) 最初にすべてのオブジェクトの固定を解除すると、対象のオブジェクトが自動的に削除されますか?
また、オブジェクトがデータストアに固定されていて、クラウドにも保存されている (固定を解除しない) 場合、固定を解除するとクラウドからも削除されますか? または、最初に固定を解除してから削除するか、削除/固定を解除する必要がありますか?
編集:
Fosco の回答を理解した場合、次のようなことを行う必要があります。
android - Android MediaPlayer SSL 証明書のピン留め
Android で HTTP リクエストを作成するために SSL 証明書ピンニングを使用する方法については、多くの説明があります。これは良いことです。
ただし、VideoView/MediaPlayer を介して HLS ストリームを読み込んで再生するときにこれを行う方法があるかどうか疑問に思っています。これらを使用すると、自分で接続を作成するのではなく、システムによって接続が行われます。自分の証明書のみを信頼できる方法が必要です。