From: Tobias Brunner Date: Wed, 18 Oct 2023 15:29:25 +0000 (+0200) Subject: charon-cmd: Add support for key types other than RSA X-Git-Tag: 5.9.12rc1~7^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8581a19dd793eca6c0959242cd07f72f5d0a7f8d;p=thirdparty%2Fstrongswan.git charon-cmd: Add support for key types other than RSA --- diff --git a/src/charon-cmd/charon-cmd.8.in b/src/charon-cmd/charon-cmd.8.in index a2d424e9aa..c9b4d86250 100644 --- a/src/charon-cmd/charon-cmd.8.in +++ b/src/charon-cmd/charon-cmd.8.in @@ -95,6 +95,10 @@ options can be used. .TP .BI "\-\-rsa " path RSA private key to use for authentication (if a password is required, it will +be requested on demand). For other key types use \fI\-\-priv\fR. +.TP +.BI "\-\-priv " path +Pivate key to use for authentication (if a password is required, it will be requested on demand). .TP .BI "\-\-p12 " path diff --git a/src/charon-cmd/cmd/cmd_connection.c b/src/charon-cmd/cmd/cmd_connection.c index 2e2cb3ca26..8e8d8236e5 100644 --- a/src/charon-cmd/cmd/cmd_connection.c +++ b/src/charon-cmd/cmd/cmd_connection.c @@ -499,6 +499,7 @@ METHOD(cmd_connection_t, handle, bool, this->xautheap = arg; break; case CMD_OPT_RSA: + case CMD_OPT_PRIV: case CMD_OPT_AGENT: case CMD_OPT_PKCS12: this->key_seen = TRUE; diff --git a/src/charon-cmd/cmd/cmd_creds.c b/src/charon-cmd/cmd/cmd_creds.c index 9fa0394987..e2bc4b9c28 100644 --- a/src/charon-cmd/cmd/cmd_creds.c +++ b/src/charon-cmd/cmd/cmd_creds.c @@ -237,6 +237,9 @@ METHOD(cmd_creds_t, handle, bool, case CMD_OPT_RSA: load_key(this, KEY_RSA, arg); break; + case CMD_OPT_PRIV: + load_key(this, KEY_ANY, arg); + break; case CMD_OPT_PKCS12: load_pkcs12(this, arg); break; diff --git a/src/charon-cmd/cmd/cmd_options.c b/src/charon-cmd/cmd/cmd_options.c index f2fd3b178e..c53b79a4f1 100644 --- a/src/charon-cmd/cmd/cmd_options.c +++ b/src/charon-cmd/cmd/cmd_options.c @@ -43,6 +43,8 @@ cmd_option_t cmd_options[CMD_OPT_COUNT] = { "certificate for authentication or trust chain validation", {}}, { CMD_OPT_RSA, "rsa", required_argument, "path", "RSA private key to use for authentication", {}}, + { CMD_OPT_PRIV, "priv", required_argument, "path", + "Private key to use for authentication", {}}, { CMD_OPT_PKCS12, "p12", required_argument, "path", "PKCS#12 file with private key and certificates to use for ", { "authentication and trust chain validation" diff --git a/src/charon-cmd/cmd/cmd_options.h b/src/charon-cmd/cmd/cmd_options.h index a6a7c994ea..0fe2f5698f 100644 --- a/src/charon-cmd/cmd/cmd_options.h +++ b/src/charon-cmd/cmd/cmd_options.h @@ -40,6 +40,7 @@ enum cmd_option_type_t { CMD_OPT_REMOTE_IDENTITY, CMD_OPT_CERT, CMD_OPT_RSA, + CMD_OPT_PRIV, CMD_OPT_PKCS12, CMD_OPT_AGENT, CMD_OPT_LOCAL_TS,