Mercurial > openid
diff 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 |
line wrap: on
line diff
--- a/include/openid.h Tue Dec 28 19:57:25 2010 -0500 +++ b/include/openid.h Wed Dec 29 12:16:32 2010 -0500 @@ -1,8 +1,12 @@ #include <urweb/urweb.h> +#include <openssl/dh.h> + uw_unit uw_OpenidFfi_init(uw_context); -typedef struct uw_OpenidFfi_discovery *uw_OpenidFfi_discovery; +typedef struct { + uw_Basis_string endpoint, localId; +} uw_OpenidFfi_discovery; uw_Basis_string uw_OpenidFfi_endpoint(uw_context, uw_OpenidFfi_discovery); uw_Basis_string uw_OpenidFfi_localId(uw_context, uw_OpenidFfi_discovery); @@ -20,4 +24,14 @@ uw_OpenidFfi_outputs uw_OpenidFfi_direct(uw_context, uw_Basis_string url, uw_OpenidFfi_inputs); uw_OpenidFfi_outputs uw_OpenidFfi_indirect(uw_context, uw_Basis_string fields); +uw_Basis_string uw_OpenidFfi_sha1(uw_context, uw_Basis_string key, uw_Basis_string data); uw_Basis_string uw_OpenidFfi_sha256(uw_context, uw_Basis_string key, uw_Basis_string data); + +typedef DH *uw_OpenidFfi_dh; + +uw_Basis_string uw_OpenidFfi_modulus(uw_context, uw_OpenidFfi_dh); +uw_Basis_string uw_OpenidFfi_generator(uw_context, uw_OpenidFfi_dh); +uw_Basis_string uw_OpenidFfi_public(uw_context, uw_OpenidFfi_dh); + +uw_OpenidFfi_dh uw_OpenidFfi_generate(uw_context); +uw_Basis_string uw_OpenidFfi_compute(uw_context, uw_OpenidFfi_dh, uw_Basis_string server_pub);