我正在开发VPN应用程序,该应用程序将个人 VPN配置文件安装到系统配置中。如果我的应用程序只是设备上的一个VPN应用程序,则所有应用程序都可以正常工作。如果我再安装一个VPN应用程序和另一个个人 VPN证书,则出现问题。
从屏幕截图中可以看到,系统中安装了两个个人证书。其中之一(不是我的应用程序的证书)处于选定状态。当我尝试从我的应用程序连接到VPN时,我的证书没有进入所选状态,并且VPN无法正常工作。仅当我在设置中手动选择应用程序的证书时,它才有效。 但是,当我尝试从另一个应用程序连接到VPN时,该应用程序会自动在系统设置中选择适当的证书,并且所有证书都可以正常工作。
所以,我的问题是:在连接到VPN之前是否有任何API可以选择适当的证书?
我没有运气尝试使用 NEVpnManager.isEnabled 。在尝试连接到VPN之前,我还使用 NEVPNManager.saveToPreferences()。
答案 0 :(得分:0)
我解决了我的问题。原因是NEVPNManager.isEnabled
标志。在调用方法saveToPreferences()
之前,必须将其设置为TRUE。