diff options
Diffstat (limited to 'doc/examples/ex-serv-pgp.c')
-rw-r--r-- | doc/examples/ex-serv-pgp.c | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/doc/examples/ex-serv-pgp.c b/doc/examples/ex-serv-pgp.c index 6946d2947c..0eacb0db73 100644 --- a/doc/examples/ex-serv-pgp.c +++ b/doc/examples/ex-serv-pgp.c @@ -27,15 +27,15 @@ #define SOCKET_ERR(err,s) if(err==-1) {perror(s);return(1);} #define MAX_BUF 1024 #define PORT 5556 /* listen to 5556 port */ -#define DH_BITS 1024 /* These are global */ -gnutls_certificate_credentials_t cred; gnutls_dh_params_t dh_params; static int generate_dh_params (void) { + unsigned int bits = + gnutls_sec_param_to_pk_bits (GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LEGACY); /* Generate Diffie-Hellman parameters - for use with DHE * kx algorithms. These should be discarded and regenerated @@ -43,29 +43,11 @@ generate_dh_params (void) * security requirements. */ gnutls_dh_params_init (&dh_params); - gnutls_dh_params_generate2 (dh_params, DH_BITS); + gnutls_dh_params_generate2 (dh_params, bits); return 0; } -static gnutls_session_t -initialize_tls_session (void) -{ - gnutls_session_t session; - - gnutls_init (&session, GNUTLS_SERVER); - - gnutls_priority_set_direct (session, "NORMAL:+CTYPE-OPENPGP", NULL); - - /* request client certificate if any. - */ - gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); - - gnutls_dh_set_prime_bits (session, DH_BITS); - - return session; -} - int main (void) { @@ -76,6 +58,7 @@ main (void) socklen_t client_len; char topbuf[512]; gnutls_session_t session; + gnutls_certificate_credentials_t cred; char buffer[MAX_BUF + 1]; int optval = 1; char name[256]; @@ -120,7 +103,12 @@ main (void) client_len = sizeof (sa_cli); for (;;) { - session = initialize_tls_session (); + gnutls_init (&session, GNUTLS_SERVER); + gnutls_priority_set_direct (session, "NORMAL:+CTYPE-OPENPGP", NULL); + + /* request client certificate if any. + */ + gnutls_certificate_server_set_request (session, GNUTLS_CERT_REQUEST); sd = accept (listen_sd, (struct sockaddr *) & sa_cli, &client_len); |