A quick question about CA certs in the context of cert based auth.

I've got two tunnels on same server like this, using different certificates 
(all of them, for each connection are different from the other connection's). 
Reason: one client is strongSwan and supports EC certs, the other client only 
does RSA.

This one uses RSA certs:

connections {
        rsa_tunnel {
                local_addrs  = 139.0.0.1
                remote_addrs = 89.0.0.1
                version = 2
                proposals = aes128-sha256-ecp256

                local {
                        auth = pubkey
                        certs = lintun_server.crt
                }
                remote {
                        auth = pubkey
                        cacerts = lintun_CA.crt
                }
                children {
                        xxx {
                                local_ts  = dynamic[gre]
                                remote_ts = dynamic[gre]

                                mode = transport
                                esp_proposals = aes128-sha256-ecp256
                        }
                }
        }
}

And this one uses EC certs:

connections {
        ec_tunnel {
                local_addrs  = 139.0.0.1
                remote_addrs = 172.0.0.1
                version = 2
                proposals = aes128-sha256-ecp256

                local {
                        auth = pubkey
                        certs = ec_tunnel_server.crt
                }
                remote {
                        auth = pubkey
                        cacerts = ec_tunnel_CA.crt
                }
                children {
                        zzz {
                                mode = transport
                                esp_proposals = aes128gcm128-x25519
                        }
                }
        }
}

Now when strongSwan negotiates authentication, I see that it asks either client 
for either CA:

Mar 14 16:28:40 charon-systemd[12802]: sending cert request for "C=RU, 
O=RsaTunnel, OU=CA"
Mar 14 16:28:40 charon-systemd[12802]: sending cert request for "C=RU, 
O=EcTunnel, OU=CA"

It seems to me that at this point the server should already know which 
connection "block" it's dealing with - and so which CA cert it will need from 
the client.

One CA cert, not all CA certs in all configured connections, right?

Also does the above mean that either client can authenticate through either CA 
cert, even the other connection's?

-- 
Kostya Vasilyev
[email protected]

Reply via email to