我正在尝试在应用程序中设置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协议实现?另外,为什么苹果默认设置如此弱的参数?
答案 0 :(得分:1)
ikeSecurityAssociationParameters
和childSecurityAssociationParameters
属性是只读的,但是您可以在建立连接之前修改这些属性引用的对象的属性:
let protocol = NEVPNProtocolIKEv2()
protocol.ikeSecurityAssociationParameters.encryptionAlgorithm = .algorithmAES256GCM