有没有办法为个人 VPN 指定 IKEv2 安全关联参数?

Is there a way to specify the IKEv2 security association parameters for Personal VPN?

我正在尝试在我的应用程序中设置 Personal VPN

Apple 文档指出个人 VPN 配置使用一种内置 VPN 协议(在我的例子中是 IKEv2)。

基本配置相当简单,但是,在指定 IKEv2 配置的设置时,官方文档似乎缺少一些 information/some 部分没有完整记录。

NEVPNProtocolIKEv2 class 有两个吸气剂,ikeSecurityAssociationParameterschildSecurityAssociationParameters。很高兴知道我可以获得该数据,但是有没有办法设置它?似乎默认情况下,iOS提出了以下算法来建立IKE SA:IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024

由于 3DES 被认为是弱加密算法,SHA1 是过时的哈希函数,1024b Dh-group 也被认为已弃用,因此我想相应地更改某些参数。

我的问题:个人 VPN 是否可行,或者我是否必须转移到数据包隧道提供商并使用我的 "custom" VPN 协议实施?还有,苹果为什么默认设置这么弱的参数?

ikeSecurityAssociationParameterschildSecurityAssociationParameters 属性是只读的,但您可以在建立连接之前修改这些属性引用的对象的属性:

let protocol = NEVPNProtocolIKEv2()
protocol.ikeSecurityAssociationParameters.encryptionAlgorithm = .algorithmAES256GCM