]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
charon-cmd: Add support for PSK authentication with IKEv2
authorTobias Brunner <tobias@strongswan.org>
Thu, 22 May 2025 09:30:42 +0000 (11:30 +0200)
committerTobias Brunner <tobias@strongswan.org>
Thu, 15 Jan 2026 13:10:35 +0000 (14:10 +0100)
Can be useful for testing purposes (e.g. some public test servers use
PSKs).

src/charon-cmd/cmd/cmd_connection.c
src/charon-cmd/cmd/cmd_options.c

index aa61642e9583950b2a317490469a52d3db2c379b..aaf02c6c787dece58536833ddb9afbc1117c2cfd 100644 (file)
@@ -36,6 +36,7 @@ enum profile_t {
        PROF_V2_PUB,
        PROF_V2_EAP,
        PROF_V2_PUB_EAP,
+       PROF_V2_PSK,
        PROF_V1_PUB,
        PROF_V1_PUB_AM,
        PROF_V1_XAUTH,
@@ -50,6 +51,7 @@ ENUM(profile_names, PROF_V2_PUB, PROF_V1_HYBRID_AM,
        "ikev2-pub",
        "ikev2-eap",
        "ikev2-pub-eap",
+       "ikev2-psk",
        "ikev1-pub",
        "ikev1-pub-am",
        "ikev1-xauth",
@@ -164,6 +166,7 @@ static peer_cfg_t* create_peer_cfg(private_cmd_connection_t *this)
                case PROF_V2_PUB:
                case PROF_V2_EAP:
                case PROF_V2_PUB_EAP:
+               case PROF_V2_PSK:
                        ike.version = IKEV2;
                        break;
                case PROF_V1_PUB_AM:
@@ -301,6 +304,10 @@ static bool add_auth_cfgs(private_cmd_connection_t *this, peer_cfg_t *peer_cfg)
                        add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_EAP);
                        add_auth_cfg(this, peer_cfg, FALSE, AUTH_CLASS_ANY);
                        break;
+               case PROF_V2_PSK:
+                       add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_PSK);
+                       add_auth_cfg(this, peer_cfg, FALSE, AUTH_CLASS_PSK);
+                       break;
                case PROF_V1_PUB:
                case PROF_V1_PUB_AM:
                        add_auth_cfg(this, peer_cfg, TRUE, AUTH_CLASS_PUBKEY);
index c53b79a4f1ca966bcef82c99b574300447e5e377..8aa09050fb10b23f9485fc948e8340b9a54af16d 100644 (file)
@@ -65,7 +65,7 @@ cmd_option_t cmd_options[CMD_OPT_COUNT] = {
          "a single AH proposal to offer instead of the default", {}},
        { CMD_OPT_PROFILE, "profile", required_argument, "name",
          "authentication profile to use, where name is one of:", {
-               "  ikev2-pub, ikev2-eap, ikev2-pub-eap",
+               "  ikev2-pub, ikev2-eap, ikev2-pub-eap, ikev2-psk",
                "  ikev1-pub[-am], ikev1-xauth[-am],",
                "  ikev1-xauth-psk[-am], ikev1-hybrid[-am]",
        }},