9

これは、stackoverflow.com での最初の投稿です。何か間違ったことをした場合は、お知らせください。それで問題に。

現在、Microsoft が提供するサンプル コードと同様のソケットを実行しているC#サーバーがありますSystem.Net.Socket

にバインドされたObjective-CiPad クライアントも実行しています。NSInputStream/NSOutputStreamCFReadStream/CFWriteStream

現在、クライアントとサーバーを介して送信されるユーザー名とパスワードの認証のみでXML Serialized Object、問題なく通信できます。

私が今抱えている問題は、通信が安全でSSL encryptionなければならず、クライアントとの会話が許容されるということです。ただし、「サーバー証明書」だけでは不十分だと思います。そのため、iPad クライアントに「クライアント証明書」を使用させようとしています。真の相互認証を有効にしたいと考えています。

相互認証を達成できない場合は、サードパーティのVPNソフトウェアが通信を保護するためのより良いソリューションになる可能性があります。

私はまだ変換を完了していませんが、これの良い例を示すいくつかの記事を見つけましたが、iPad のクライアント側証明書に関する私の状況に適合する例はありません。私が見つけたサンプルは次のとおりです。

C# SSL TCP サーバー

SSL の使用方法を示しているが、クライアント証明書がない Apple Developer サイト

クライアント証明書なしの iPad SSL ストリーム。

クライアント証明書なしの iPad SSL ストリーム

クライアント証明書を使用する iPad HTTP クライアント

基本的に、システムは最終的に証明書を管理する機能を備えた組み込みとのTCP通信を実行する必要があります。SSL違いが生じるかどうかはわかりませんが、これは多くの異なるクライアントに適用されるため、SSL 3.0and TLS(任意のバージョン) と互換性があることが望ましいです。

私は過去 6 か月間手を出しているだけでObjective-C、より慣れ親しんでいるC#ので、おそらくあなたの答えをもっと簡単な言葉で説明する必要があるでしょう.

編集:側が単純になるとかなり確信しているので、私は方程式
の側にもっと関心があります。基本的に、クライアント側の証明書を実装する方法を説明したり、問題に対する可能な解決策やアプローチの方向を教えてくれる人が必要です。Objective-CC#TCP NSStreamObjective-C

どんな助けでも大歓迎です。

クリス

4

2 に答える 2

2

単一のアプリケーションがIOSデバイスで達成できることを超えているため、Objective-c側でこれを実装する方法に関する質問に答えることはできません。箱の外で考える。

Appleから:

iOSは、Simple Certificate Enrollment Protocol(SCEP)をサポートしています。SCEPは、IETFのインターネットドラフトであり、大規模な展開で証明書の配布を処理する簡単な方法を提供するように設計されています。これにより、企業サービスへの認証に使用できるiPhoneおよびiPadへのID証明書の無線登録が可能になります。

これを知り、開発者ライブラリでSCEPを検索すると、このページが表示されます-https: //developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/Introduction/Introduction.html

このページは興味深いものになります。MicrosoftServerがこれをサポートしていることに注意してください。- https ://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/OTASecurity/OTASecurity.html#//apple_ref/doc/ uid / TP40009505-CH3-SW1であり、サンプルのクライアント/サーバーコードもあります。

私の興味は一般的にモバイルデバイス管理の分野にあり、これを調査してきました。

お役に立てれば。

于 2012-10-09T09:29:55.533 に答える
1

CFSocketおよび/またはCkoSocketを確認してください

于 2012-11-30T19:22:07.097 に答える