rnetclient: usa o mesmo certificado para o cliente
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Thu, 2 May 2013 21:33:13 +0000 (18:33 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Thu, 2 May 2013 21:33:13 +0000 (18:33 -0300)
Permite melhor autenticacao do servidor.

rnetclient.c

index f01e248..57cc3c9 100644 (file)
 #include <arpa/inet.h>
 #include <gnutls/gnutls.h>
 
+static void * get_creds(char *certfile)
+{
+       static gnutls_certificate_credentials_t cred;
+       gnutls_certificate_allocate_credentials(&cred);
+       gnutls_certificate_set_x509_trust_file(cred, certfile,
+                                       GNUTLS_X509_FMT_PEM);
+       return cred;
+}
+
 static void session_new(gnutls_session_t *session)
 {
        static void *cred;
+       cred = get_creds("cert.pem");
        gnutls_init(session, GNUTLS_CLIENT);
        gnutls_set_default_priority(*session);
+       gnutls_credentials_set(*session, GNUTLS_CRD_CERTIFICATE, cred);
 }
 
 int main(int argc, char **argv)