問題タブ [networkextension]

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.

0 投票する
1 に答える
105 参照

ios - NETunnelProviderManager を使用するアプリとの iOS 8 での下位互換性

現在、iOS 8 で正常に動作するアプリがあり、NETunnelProviderManager を介してデバイス レベルの VPN のサポートを追加しています。VPN 拡張機能を備えたアプリは iOS 9 および 10 で正常に動作しますが、iOS 8 では次のエラーが発生してインストールされなくなりました。

実行時に iOS のバージョンをチェックし、これらの API を呼び出さないことを計画していましたが、この失敗のために、アプリは実行することさえできません。

これを実行時にインストールして処理する方法はありますか? iOS 8 専用の別アプリを作るのは現実的ではありません。

私のアプリは VPN 拡張機能を使用していますが、VPN 拡張機能を使用しなくてもいくつかのことができるので、少なくともしばらくの間は iOS 8 のサポートを継続したいと考えています。

0 投票する
1 に答える
789 参照

ios - iOS Network Extension の組み込み VPN タイプ

いくつかの調査の結果、IPSec がiOS Network Extensionに組み込まれていることがわかりました。残念ながら、IPSec は私たちのニーズには合いません。

OpenVPN は私たちのニーズには最適ですが、OpenVPN ソース コードのカスタム実装が必要です。これは、作業量とライセンスの問題を見積もることが難しいため、避けたいものです。

そのため、iOS Network Extension に IPSec 以外の組み込み VPN プロトコルがあるかどうかを知りたいので、それが私たちのニーズを満たすことができるかどうかを確認できます。

ネットワーク拡張には、クラスNEVPNProtocolがあります。このクラスの説明では、クラスNEVPNProtocolIPSecが IPSec VPN を実装していることがわかります。しかし、他の VPN 組み込みプロトコルは表示されません。

IPSec 以外の VPN 組み込み実装を知っているかどうか、誰か教えてもらえますか?

前もって感謝します、

0 投票する
0 に答える
169 参照

ios - NEVPNManager.shareManager はアプリとウィジェット間で共有されますか?

ウィジェットも含むvpnアプリに取り組んでいます。アプリとウィジェットで呼び出すと、NEVPNManager.shareManager が別のオブジェクトであることがわかりました。そのため、接続ステータスと構成が共有されていません。

どうすれば本当の共有マネージャーを取得できますか?

0 投票する
1 に答える
1740 参照

ios - Swift で利用可能な Wi-Fi ネットワークのリストを取得し、そのうちの 1 つに接続します

少なくとも利用可能な SSID のリストを取得するためのソリューションと、アプリ経由で Wi​​Fi SSID に接続するための次のステップを探しています。

見つけCaptiveNetworkたけどiOS9で減価償却。

NetworkExtensionを使用してそれを行うオプションはありますか? この機能を使って App Store にアプリをアップロードする機会はありますか?

0 投票する
2 に答える
3428 参照

ios - アプリを再起動した後、NEVPNManager チェックは接続されていますか?

フレームワークを使用して、 VPNツールをコーディングしていますNetworkExtension。経由でIPSecに接続でき、 VPN接続ステータスが変更されNEVPNManager.sharedManagerたときに通知を受け取ることができます。しかし、アプリを強制終了して再度開くと、常にゼロであり、正しい接続状態を表示できないことを意味します。それを解決する方法は?NEVPNManager.Connect.Status

0 投票する
0 に答える
1414 参照

ios - 文字列証明書を使用して NEVPNProtocolIKEv2 の identityData を構成するにはどうすればよいですか?

NetworkExtension フレームワークを使用してアプリケーションを作成すると、NEVPNProtocolIKEv2 経由で VPN サーバーに接続します。

調査の結果、NetworkExtension フレームワークの操作に関するチュートリアルを見つけたので、それに従ってみました。( http://ramezanpour.net/post/2014/08/03/configure-and-manage-vpn-connections-programmatically-in-ios-8/ )

しかし、このプロトコルのidentityDataを設定すると行き詰まりました。ここにmコードがあります:

}

チュートリアルでは、p.identityData は P12 ファイルからロードされた NSData です。しかし、server.certificate を呼び出す文字列しかありません。

この server.certificate には次のような値があります

これは非常に長い文字列で、x509Certificate を呼び出します... またはそのようなものです。正確には覚えていません。


ファイル p12 に文字列を書き込むライブラリ サポートを見つけました。これは「openssl」です。

ただし、デモ コードは Objective-C です。このコードを Swift に移植しようと試み続けていますが、とても難しいです。(デモコード: iOS: プログラムでアプリケーション内の秘密鍵と x509 証明書から PKCS12 (P12) キーストアを作成する方法は? )


最後に、私は文字列証明書しか持っていないので、アプリケーション用に p.identityData を構成したいと考えています。どうすればいいですか?

0 投票する
1 に答える
161 参照

ios - NETunnelProviderManager で IP トラフィックの送信元プロセスを特定する方法

「宛先 IP によるルーティング」モードで NETunnelProviderManager を使用しており、デバイス上のさまざまなアプリから IP トラフィックを取得できます。

問題は、不正なアプリが内部の場所にアクセスするのを防ぐために、必要に応じてトラフィックをフィルタリングおよびブロックできるように、各 IP パケットがどのアプリケーションから来たのかを特定する必要があることです。MDM を使用していないため、NETunnelProviderManager の「アプリごと」モードを使用することはできません。残念ながら、Apple のアプリ プロキシ プロバイダも MDM を必要とします。

システムの TCB テーブルへのアクセス権 (または各プロセスの TCB テーブルへのアクセス権) があれば、これを行うことができたようですが、iOS はこの情報を公開していないようで、取得するプライベート API も見つかりませんでした非脱獄デバイス上のこの情報。

私が使用できるテクニックを知っている人はいますか?

0 投票する
0 に答える
594 参照

ios - VPN が有効になっていると、ネットワーク拡張機能を使用する iOS アプリがアップグレード時にハングする

ネットワーク拡張機能 (NEPacketTunnelProvider) を持つアプリを新しいバージョンにアップグレードしようとすると、VPN が「接続中」または「接続済み」状態にある場合、アップグレードは常にハングし、コンソール ログに次のメッセージが記録されます。

長時間待っても完了せず、55% 前後の完了を表示したり、アイコンが黒くなったりすることがあります。アイコンをクリックしてアップグレードを再開すると、うまくいくこともありますが、もう一度 VPN をセットアップする必要があります。アップグレードを再試行するかどうかを尋ねるエラー メッセージが表示されることがあります。

これは、少なくとも iOS 10 では毎回発生するように見えるため、顧客にとって深刻な問題です。合理的な回避策を見つけることができませんでした。

私は Apple にバグを報告しましたが、彼らが伝えたのは、それが既存の未解決の問題 (27872696) の重複であるということだけでした。彼らはまだ回避策を提供できていません。

アップグレードの前に VPN を停止すると、アップグレードは問題なく動作しますが、これはユーザー エクスペリエンスが非常に悪くなります。

誰かがこの問題を見たことがある場合、または回避策やその他の情報を提供できる場合は、私に知らせてください。

ところで、私はAppleの最新のSimple Tunnelアプリでそれを再現したので、私のアプリが行っていることは何も変わっていません. XCode で作成した IPA を使用して Intunes 経由で最初のダウンロードとアップグレードを行うことで再現できますが、最大の問題であるアプリ ストアからのアップグレードを行うときにもこれを確認します。

更新: このスレッドでは、Apple が既知の問題であると述べている箇所について説明します。この問題が影響している場合は、スレッドに Apple の担当者がいるため、返信を追加することを検討してください。

https://forums.developer.apple.com/thread/61659