【问题标题】:Is there a way to specify the IKEv2 security association parameters for Personal VPN?有没有办法为 Personal VPN 指定 IKEv2 安全关联参数?
【发布时间】:2020-01-25 20:15:30
【问题描述】:

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

Apple 文档声明个人 VPN 配置使用内置 VPN 协议之一(在我的例子中为 IKEv2)。

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

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

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

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

【问题讨论】:

  • 嘿,你会这么好心并在投票时发表评论吗?少了什么东西?怎么了?如果您不愿意投票,也请留下评论!
  • 你试过设置不同的算法吗?发生了什么?您无需设置新值 ikeSecurityAssociationParameters - 您只需更改该属性引用的现有对象的属性。
  • 该死,愚蠢的我,对不起,我有一段时间没有处理 OOP,只是 C...确实,这个问题值得一票否决,哈哈。谢谢@Paulw11
  • 顺便说一句,我没有投反对票。这不是一个糟糕的问题 - Apple 文档中的解决方案并不明显
  • 很有可能,如果你有这个问题,那么其他人也会有这个问题——这就是 Stack Overflow 的意义所在。

标签: ios swift vpn networkextension


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多