有没有一种方法可以为Personal VPN指定IKEv2安全关联参数?

时间:2020-01-25 20:15:30

标签: ios swift vpn networkextension

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

Apple文档指出,个人VPN配置使用内置VPN协议之一(在我的情况下为IKEv2)。

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

type类有两个吸气剂,class Wrapper<T extends keyof AvailableTypes> { private readonly type: T private readonly value: AvailableTypes[T]; constructor(type: T) { this.type = type; const initValues: AvailableTypes = { array: [], string: "", object: {} }; this.value = initValues[type]; } } switch。很高兴知道我可以获取这些数据,但是有没有办法设置它?默认情况下,iOS似乎建议使用以下算法来建立IKE SA:NEVPNProtocolIKEv2

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

我的问题:个人VPN是否可以实现?还是我必须移至Packet Tunnel Provider并使用“自定义” VPN协议实现?另外,为什么苹果默认设置如此弱的参数?

1 个答案:

答案 0 :(得分:1)

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

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