add -psk option to ciphers command
Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
parent
2a802c8029
commit
9650919915
@ -69,6 +69,7 @@ typedef enum OPTION_choice {
|
|||||||
OPT_TLS1,
|
OPT_TLS1,
|
||||||
OPT_TLS1_1,
|
OPT_TLS1_1,
|
||||||
OPT_TLS1_2,
|
OPT_TLS1_2,
|
||||||
|
OPT_PSK,
|
||||||
OPT_V, OPT_UPPER_V, OPT_S
|
OPT_V, OPT_UPPER_V, OPT_S
|
||||||
} OPTION_CHOICE;
|
} OPTION_CHOICE;
|
||||||
|
|
||||||
@ -85,10 +86,21 @@ OPTIONS ciphers_options[] = {
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_SSL3
|
#ifndef OPENSSL_NO_SSL3
|
||||||
{"ssl3", OPT_SSL3, '-', "SSL3 mode"},
|
{"ssl3", OPT_SSL3, '-', "SSL3 mode"},
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_PSK
|
||||||
|
{"psk", OPT_PSK, '-', "include ciphersuites requiring PSK"},
|
||||||
#endif
|
#endif
|
||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static unsigned int dummy_psk(SSL *ssl, const char *hint, char *identity,
|
||||||
|
unsigned int max_identity_len,
|
||||||
|
unsigned char *psk,
|
||||||
|
unsigned int max_psk_len)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int ciphers_main(int argc, char **argv)
|
int ciphers_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
SSL_CTX *ctx = NULL;
|
SSL_CTX *ctx = NULL;
|
||||||
@ -98,6 +110,9 @@ int ciphers_main(int argc, char **argv)
|
|||||||
int ret = 1, i, verbose = 0, Verbose = 0, use_supported = 0;
|
int ret = 1, i, verbose = 0, Verbose = 0, use_supported = 0;
|
||||||
#ifndef OPENSSL_NO_SSL_TRACE
|
#ifndef OPENSSL_NO_SSL_TRACE
|
||||||
int stdname = 0;
|
int stdname = 0;
|
||||||
|
#endif
|
||||||
|
#ifndef OPENSSL_NO_PSK
|
||||||
|
int psk = 0;
|
||||||
#endif
|
#endif
|
||||||
const char *p;
|
const char *p;
|
||||||
char *ciphers = NULL, *prog;
|
char *ciphers = NULL, *prog;
|
||||||
@ -144,6 +159,11 @@ int ciphers_main(int argc, char **argv)
|
|||||||
case OPT_TLS1_2:
|
case OPT_TLS1_2:
|
||||||
meth = TLSv1_2_client_method();
|
meth = TLSv1_2_client_method();
|
||||||
break;
|
break;
|
||||||
|
case OPT_PSK:
|
||||||
|
#ifndef OPENSSL_NO_PSK
|
||||||
|
psk = 1;
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
argv = opt_rest();
|
argv = opt_rest();
|
||||||
@ -157,6 +177,10 @@ int ciphers_main(int argc, char **argv)
|
|||||||
ctx = SSL_CTX_new(meth);
|
ctx = SSL_CTX_new(meth);
|
||||||
if (ctx == NULL)
|
if (ctx == NULL)
|
||||||
goto err;
|
goto err;
|
||||||
|
#ifndef OPENSSL_NO_PSK
|
||||||
|
if (psk)
|
||||||
|
SSL_CTX_set_psk_client_callback(ctx, dummy_psk);
|
||||||
|
#endif
|
||||||
if (ciphers != NULL) {
|
if (ciphers != NULL) {
|
||||||
if (!SSL_CTX_set_cipher_list(ctx, ciphers)) {
|
if (!SSL_CTX_set_cipher_list(ctx, ciphers)) {
|
||||||
BIO_printf(bio_err, "Error in cipher list\n");
|
BIO_printf(bio_err, "Error in cipher list\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user