comparison include/openid.h @ 8:870d99055dd1

Diffie-Hellman started but not fully tested; successfully checked signature from AOL
author Adam Chlipala <adam@chlipala.net>
date Wed, 29 Dec 2010 12:16:32 -0500
parents 976121190b2d
children c778455fe570
comparison
equal deleted inserted replaced
7:976121190b2d 8:870d99055dd1
1 #include <urweb/urweb.h> 1 #include <urweb/urweb.h>
2
3 #include <openssl/dh.h>
2 4
3 uw_unit uw_OpenidFfi_init(uw_context); 5 uw_unit uw_OpenidFfi_init(uw_context);
4 6
5 typedef struct uw_OpenidFfi_discovery *uw_OpenidFfi_discovery; 7 typedef struct {
8 uw_Basis_string endpoint, localId;
9 } uw_OpenidFfi_discovery;
6 10
7 uw_Basis_string uw_OpenidFfi_endpoint(uw_context, uw_OpenidFfi_discovery); 11 uw_Basis_string uw_OpenidFfi_endpoint(uw_context, uw_OpenidFfi_discovery);
8 uw_Basis_string uw_OpenidFfi_localId(uw_context, uw_OpenidFfi_discovery); 12 uw_Basis_string uw_OpenidFfi_localId(uw_context, uw_OpenidFfi_discovery);
9 13
10 uw_OpenidFfi_discovery *uw_OpenidFfi_discover(uw_context, uw_Basis_string id); 14 uw_OpenidFfi_discovery *uw_OpenidFfi_discover(uw_context, uw_Basis_string id);
18 uw_Basis_string uw_OpenidFfi_getOutput(uw_context, uw_OpenidFfi_outputs, uw_Basis_string key); 22 uw_Basis_string uw_OpenidFfi_getOutput(uw_context, uw_OpenidFfi_outputs, uw_Basis_string key);
19 23
20 uw_OpenidFfi_outputs uw_OpenidFfi_direct(uw_context, uw_Basis_string url, uw_OpenidFfi_inputs); 24 uw_OpenidFfi_outputs uw_OpenidFfi_direct(uw_context, uw_Basis_string url, uw_OpenidFfi_inputs);
21 uw_OpenidFfi_outputs uw_OpenidFfi_indirect(uw_context, uw_Basis_string fields); 25 uw_OpenidFfi_outputs uw_OpenidFfi_indirect(uw_context, uw_Basis_string fields);
22 26
27 uw_Basis_string uw_OpenidFfi_sha1(uw_context, uw_Basis_string key, uw_Basis_string data);
23 uw_Basis_string uw_OpenidFfi_sha256(uw_context, uw_Basis_string key, uw_Basis_string data); 28 uw_Basis_string uw_OpenidFfi_sha256(uw_context, uw_Basis_string key, uw_Basis_string data);
29
30 typedef DH *uw_OpenidFfi_dh;
31
32 uw_Basis_string uw_OpenidFfi_modulus(uw_context, uw_OpenidFfi_dh);
33 uw_Basis_string uw_OpenidFfi_generator(uw_context, uw_OpenidFfi_dh);
34 uw_Basis_string uw_OpenidFfi_public(uw_context, uw_OpenidFfi_dh);
35
36 uw_OpenidFfi_dh uw_OpenidFfi_generate(uw_context);
37 uw_Basis_string uw_OpenidFfi_compute(uw_context, uw_OpenidFfi_dh, uw_Basis_string server_pub);