|
|
|
@ -70,6 +70,7 @@ typedef enum OPTION_choice {
|
|
|
|
|
OPT_TLS1_1,
|
|
|
|
|
OPT_TLS1_2,
|
|
|
|
|
OPT_PSK,
|
|
|
|
|
OPT_SRP,
|
|
|
|
|
OPT_V, OPT_UPPER_V, OPT_S
|
|
|
|
|
} OPTION_CHOICE;
|
|
|
|
|
|
|
|
|
@ -95,6 +96,9 @@ OPTIONS ciphers_options[] = {
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_PSK
|
|
|
|
|
{"psk", OPT_PSK, '-', "include ciphersuites requiring PSK"},
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_SRP
|
|
|
|
|
{"srp", OPT_SRP, '-', "include ciphersuites requiring SRP"},
|
|
|
|
|
#endif
|
|
|
|
|
{NULL}
|
|
|
|
|
};
|
|
|
|
@ -108,6 +112,12 @@ static unsigned int dummy_psk(SSL *ssl, const char *hint, char *identity,
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_SRP
|
|
|
|
|
static char *dummy_srp(SSL *ssl, void *arg)
|
|
|
|
|
{
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
int ciphers_main(int argc, char **argv)
|
|
|
|
|
{
|
|
|
|
@ -121,6 +131,9 @@ int ciphers_main(int argc, char **argv)
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_PSK
|
|
|
|
|
int psk = 0;
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_SRP
|
|
|
|
|
int srp = 0;
|
|
|
|
|
#endif
|
|
|
|
|
const char *p;
|
|
|
|
|
char *ciphers = NULL, *prog;
|
|
|
|
@ -173,6 +186,10 @@ int ciphers_main(int argc, char **argv)
|
|
|
|
|
case OPT_PSK:
|
|
|
|
|
#ifndef OPENSSL_NO_PSK
|
|
|
|
|
psk = 1;
|
|
|
|
|
#endif
|
|
|
|
|
case OPT_SRP:
|
|
|
|
|
#ifndef OPENSSL_NO_SRP
|
|
|
|
|
srp = 1;
|
|
|
|
|
#endif
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -196,6 +213,10 @@ int ciphers_main(int argc, char **argv)
|
|
|
|
|
#ifndef OPENSSL_NO_PSK
|
|
|
|
|
if (psk)
|
|
|
|
|
SSL_CTX_set_psk_client_callback(ctx, dummy_psk);
|
|
|
|
|
#endif
|
|
|
|
|
#ifndef OPENSSL_NO_SRP
|
|
|
|
|
if (srp)
|
|
|
|
|
SSL_CTX_set_srp_client_pwd_callback(ctx, dummy_srp);
|
|
|
|
|
#endif
|
|
|
|
|
if (ciphers != NULL) {
|
|
|
|
|
if (!SSL_CTX_set_cipher_list(ctx, ciphers)) {
|
|
|
|
|