问题标签 [nevpnmanager]
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 - NETunnelProviderSession startTunnel() 不启动 VPN 连接
所以我使用PIATunnel
库来启动 VPN 连接。到目前为止,我所取得的最好成绩是尝试连接到立即断开连接的 VPN 服务器。我希望能够调试问题并找出调用startTunnel()
. 我只能通过通知中心观察者监控连接,但我不知道是什么导致我立即断开连接的连接问题。在服务器端,我看不到我的 IP 地址,因此我确定 iOS 设备没有建立连接。
我基本上从这个 repo 运行演示应用程序:https ://github.com/pia-foss/tunnel-apple/tree/master/Demo
我不确定的是,为了调试 VPN 隧道,我需要运行网络扩展目标吗?我可以使用包含应用程序的目标进行调试吗?我已经尝试了这两种方法,当我NEPacketTunnelProvider
在运行扩展目标时覆盖子类的 init() 时,就像这样:
我没有在应用程序中看到日志消息(对于我的 iPhone)Console
。
swift - 由于 SecKeychain 安全性,在 NEVPNManager 上保存 VPN 配置文件会崩溃
尝试保存我的 VPN 配置文件时突然崩溃。我相信这是由于访问钥匙串时的权限问题造成的。与我可以在模拟器上删除整个应用程序并完全重置它的 iOS 不同,在 mac 上我似乎无法做到这一点。
我从来没有收到过它询问我是否有权安装配置文件的初始弹出窗口。有没有办法完全重置这个?
例外:
swift - NEVPNManager - 如何快速跟踪 VPN 的数据使用情况
我正在 swift 5 中开发一个 VPN 应用程序。我们正在使用 NEVPNManager 来处理所有 VPN 配置。我们想要的功能之一是在用户连接到我们的 VPN 时测量用户的使用数据。我们应该怎么做 ?
ios - 如何以编程方式在 iOS 配置文件和设备管理和信任存储中安装 VPN 根证书
我使用NEVPNManager和IKEV2 证书作为连接 VPN 的身份验证方法。我能够连接到 VPN。下面提到的是我的示例代码块。
我尝试使用安全框架的 SecCertificateCreateWithData 和 SecItemAdd 方法安装根证书,安装证书时没有收到任何错误,但它没有出现在我的 iOS 配置文件和设备管理以及 TrustStore 中。下面是我使用的代码块。
目前,我正在通过 Safari 或 Mail 安装根证书。另外,我的根证书是自签名的。我知道只有由受信任的 CA 签名才能启用证书信任,但我如何至少将其添加到 iOS 配置文件和设备管理中。
任何帮助表示赞赏,在此先感谢!!!
ios - 如何使用 OpenVPNAdapter 连接用户
我正在从事一个个人项目,我将在其中将用户连接到 VPN。我已经关注了两篇关于这样做的博客文章,它们是https://medium.com/better-programming/how-to-build-an-openvpn-client-on-ios-c8f927c11e80和https://kean.blog/post /vpn 配置管理器。我能够配置 VPN 设置,但仍然无法连接。这是我的项目 Signing & Capabilities 的图像,一张用于应用程序,另一张用于网络扩展。
我的 ViewController 看起来像这样。用户应用程序文档目录中有一个名为user的文件夹,该文件夹是从 Internet 下载的,这些是文件夹中的文件。我不确定是否应该在 user.ovpn 文件之外使用它
我的 PacketTunnelProvider 看起来像这样
ios - NEVPNManager 停止使用 iOS 14 beta
我尝试在 iOS 14 beta 上运行我的应用程序。它在 iOS 13 上运行良好,但无法连接到 iOS 14 beta 上的任何服务器。NEVPNManager.shared().connection.startVPNTunnel() 不会引发任何错误,并且 NEVPNStatus 与我连接的任何服务器变为 .disconnected。我在 iOS 14 上找不到 NEVPNManager 的变化。
这是我的经理的配置:
ios - 用于 VPN 的 NEVPNManager 或 NEPacketTunnelProvider
我正在尝试使用 NEVPNManager 创建 VPN,我正在使用证书身份验证和 IKEv2 协议。当在 iPhone 上安装 vpn 并尝试连接到服务器时,我收到此错误:
只有在安装后的第一次,然后我什么都没有从 VPN 中得到。
在这个问题中 https://developer.apple.com/forums/thread/84679
如果您想继续使用 NEVPNManager 路径,您必须让受信任的 CA 为您的 VPN 服务器颁发证书,以便由爱斯基摩人回答。
我决定使用 NEPacketTunnelProvider 创建 VPN,但我不完全理解我在尝试时应该期待什么。
会有多少工作量?
我可以为没有证书 CA 的用户创建带有 IKEv2 的 VPN 吗?
还是有充分的理由将身份验证方法从证书更改为 IKEv2 的登录名和密码,或者更改 IPsec 上的协议并使用登录名、密码和密码进行身份验证方法?
标题
swift - macOS 催化剂上钥匙串项目的 PersistentRef
背景
我正在尝试构建一个使用本机 IKEv2 实现连接到 VPN 的应用程序。该应用程序应该为 iOS 构建,但也可以使用 Catalyst 平台在 macOS 上运行。
情况
在 iOS/macOS 中使用本机 IKEv2 实现连接到 VPN 时 - 要使用用户名和密码身份验证,应用程序必须将持久钥匙串引用传递给包含密码的钥匙串项。(参考)
问题
在 iOS 上它运行良好,但在 Catalyst 平台上启动 VPN 连接时,VPN 服务无法使用给定的持久引用检索密码。控制台打印:
钥匙串项存储在钥匙串中,持久引用不是nil
,但由于某种原因,操作系统的 VPN 服务无法检索密码。
如果我尝试使用相同的持久引用来检索密码 - 一切都按预期工作并且密码被检索。
任何信息将不胜感激。将密码保存到钥匙串时可能应该添加一些标志?在 Catalyst 平台上从钥匙串中检索持久引用时,也许应该添加一些标志?
macos - MacCatalyst VPN 连接 每次连接都询问密码
当我们尝试连接 MacCatalyst 时,系统会在每次连接时要求输入密码,但在处理仅为 MacOS 创建的项目时,它会直接连接而无需输入密码。KeychainWrapper 类中“set”函数的输出对于两个项目是相同的,但是当我比较钥匙串访问中的两个键时,附件和我的代码中显示了差异
这是我的 IKEv2 连接代码:
这是 KeychainWrapper 设置功能:
swift - 在“WIREGUARD”版本 1.0.12 中创建隧道
我正在尝试在ios中使用wireguard创建隧道,但在激活配置无效的隧道时总是显示相同的错误。
Code=1“缺少协议或协议类型无效”wireguard
重新启用后保存隧道时出错:Error Domain=NEVPNErrorDomain Code=1 "Missing protocol or protocol has invalid type"
我在从头开始创建隧道时给出这些参数
名称,Pri-Pub 自动生成,地址,监听端口,在添加对等部分 => 公钥并保存隧道