Strongswan roadwarrior 场景中存在公钥认证问题

Strongswan roadwarrior 场景中存在公钥认证问题

Ubuntu 20.04 Strongswan 5.9.1(从源代码构建)

swanctl.conf

Android Strongswan 应用程序

我正在使用自签名的 ca 和证书。

roadwarr-ikev2-pubkey {
    version = 2
    #proposals = aes192gcm16-aes128gcm16-prfsha256-ecp256-ecp521,aes192-sha256-modp3072,default
    proposals = aes256-sha1-modp1024,default
    rekey_time = 0s
    pools = primary-pool-ipv4
    fragmentation = yes
    dpd_delay = 30s
    local_addrs = %any
    # dpd_timeout doesn't do anything for IKEv2. The general IKEv2 packet timeouts are used.
    local-1 {
        #auth = pubkey
        certs = Srv1SwanCert.der
        id = ub-srv-1
    }
    remote-1 {
        # defaults are fine.
        #auth = pubkey
        #id = androidLkP
        id = %any
    }
    children {
        roadwarr-ikev2-pubkey {
            # local_ts = 10.10.5.0/24
            local_ts = 0.0.0.0/0
            rekey_time = 0s
            dpd_action = clear
            # esp_proposals = aes192gcm16-aes128gcm16-prfsha256-ecp256-modp3072,aes192-sha256-ecp256-modp3072,default
            esp_proposals = aes256-sha1-modp1024,default
        }
    }
}

此设置仅在 Android 应用程序中“客户端身份”为空时才有效。添加客户端 ID 后,我收到以下信息:

15[CFG] selected peer config 'roadwarr-ikev2-pubkey'
15[IKE] no trusted RSA public key found for 'androidLkP'

androidLkP 是此特定证书中的 CN。

我使用 pki 命令从证书中提取了公钥,并将其放入/etc/swanctl/pubkey文件夹中。我的目标是为特定客户端提供单独的配置,而不是使用id = %any

pubkey 插件已加载。

什么可能导致这个问题?

它能与自签名 CA 一起工作吗或者它需要真正受信任的 CA?

答案1

RDN的值CN不能在 strongSwan 中单独匹配(除非您实际将其配置为部分 DN 并在 strongswan.conf 中启用宽松 RDN 匹配)。

配置的身份必须是完整的主题 DN 或证书中包含的 subjectAltName (SAN)。

相关内容