agent: Use sshkey plugin to parse keys, adds support for ECDSA
[strongswan.git] / src / charon-cmd / cmd / cmd_options.c
1 /*
2 * Copyright (C) 2013 Martin Willi
3 * Copyright (C) 2013 revosec AG
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 */
15
16 #include "cmd_options.h"
17
18 #include <getopt.h>
19
20 /**
21 * See header.
22 */
23 cmd_option_t cmd_options[CMD_OPT_COUNT] = {
24 { CMD_OPT_HELP, "help", no_argument, "",
25 "print this usage information and exit" },
26 { CMD_OPT_VERSION, "version", no_argument, "",
27 "show version information and exit" },
28 { CMD_OPT_HOST, "host", required_argument, "hostname",
29 "DNS name or address to connect to" },
30 { CMD_OPT_IDENTITY, "identity", required_argument, "identity",
31 "identity the client uses for the IKE exchange" },
32 { CMD_OPT_REMOTE_IDENTITY, "remote-identity", required_argument, "identity",
33 "server identity to expect, defaults to host" },
34 { CMD_OPT_CERT, "cert", required_argument, "path",
35 "trusted certificate, for authentication or trust chain validation" },
36 { CMD_OPT_RSA, "rsa", required_argument, "path",
37 "RSA private key to use for authentication" },
38 { CMD_OPT_AGENT, "agent", no_argument, "",
39 "use SSH agent for authentication"},
40 { CMD_OPT_LOCAL_TS, "local-ts", required_argument, "subnet",
41 "additional traffic selector to propose for our side" },
42 { CMD_OPT_REMOTE_TS, "remote-ts", required_argument, "subnet",
43 "remote traffic selector to propose for remote side" },
44 { CMD_OPT_PROFILE, "profile", required_argument, "name",
45 "authentication profile to use, where name is one of:", {
46 "ikev2-pub: IKEv2 with public key client authentication",
47 "ikev2-eap: IKEv2 with client EAP",
48 "ikev2-pub-eap: IKEv2 with public key client authentication + client EAP",
49 "ikev1-pub: IKEv1 public key authentication",
50 "ikev1-xauth: IKEv1 public key authentication + initiator XAuth",
51 "ikev1-xauth-psk: IKEv1 PSK authentication + initiator XAuth (INSECURE!)",
52 "ikev1-hybrid: IKEv1 public key responder only + initiator XAuth",
53 }},
54 };