diff options
author | Ben Laurie <ben@openssl.org> | 2008-10-26 18:40:52 +0000 |
---|---|---|
committer | Ben Laurie <ben@openssl.org> | 2008-10-26 18:40:52 +0000 |
commit | 6caa4edd3e6410aff7c80011d905abcd3c1b1143 (patch) | |
tree | cd78ea1921ac59740eb310b88bad25d642dc281a /apps/s_server.c | |
parent | ac786241a2607ea14cf29e3a0e4ad1aae672a8df (diff) |
Add JPAKE.
Diffstat (limited to 'apps/s_server.c')
-rw-r--r-- | apps/s_server.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/s_server.c b/apps/s_server.c index c95057a7f8..1bf649b710 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -822,6 +822,8 @@ BIO_printf(err, "cert_status: received %d ids\n", sk_OCSP_RESPID_num(ids)); int MAIN(int, char **); +static char *jpake_secret = NULL; + int MAIN(int argc, char *argv[]) { X509_STORE *store = NULL; @@ -854,7 +856,6 @@ int MAIN(int argc, char *argv[]) EVP_PKEY *s_key2 = NULL; X509 *s_cert2 = NULL; #endif - #ifndef OPENSSL_NO_TLSEXT tlsextctx tlsextcbp = {NULL, NULL, SSL_TLSEXT_ERR_ALERT_WARNING}; #endif @@ -1179,7 +1180,13 @@ int MAIN(int argc, char *argv[]) if (--argc < 1) goto bad; s_key_file2= *(++argv); } + #endif + else if (strcmp(*argv,"-jpake") == 0) + { + if (--argc < 1) goto bad; + jpake_secret = *(++argv); + } else { BIO_printf(bio_err,"unknown option %s\n",*argv); @@ -1807,6 +1814,10 @@ static int sv_body(char *hostname, int s, unsigned char *context) test=BIO_new(BIO_f_nbio_test()); sbio=BIO_push(test,sbio); } + + if(jpake_secret) + jpake_server_auth(bio_s_out, sbio, jpake_secret); + SSL_set_bio(con,sbio,sbio); SSL_set_accept_state(con); /* SSL_set_fd(con,s); */ |