diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-18 12:40:47 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-18 12:44:11 +0100 |
| commit | 81b38e86e4e073aa3aa590cbea39852972242a41 (patch) | |
| tree | 929074d99422f094ee9d02a99ab244578d57b4ca /libcmix/cmix.c | |
| parent | 6ae607cc84b671810fca9c24b1c131ca12d922e7 (diff) | |
| download | cmix-81b38e86e4e073aa3aa590cbea39852972242a41.tar.gz cmix-81b38e86e4e073aa3aa590cbea39852972242a41.tar.bz2 cmix-81b38e86e4e073aa3aa590cbea39852972242a41.zip | |
Adds api call to convert public key to an (string) id
Diffstat (limited to 'libcmix/cmix.c')
| -rw-r--r-- | libcmix/cmix.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libcmix/cmix.c b/libcmix/cmix.c index 9db4dbb..f6eb2e8 100644 --- a/libcmix/cmix.c +++ b/libcmix/cmix.c @@ -3,6 +3,7 @@ #include <string.h> #include <stdlib.h> +#include <stdio.h> enum cmix_error permutation(struct CMixBuffer b) { return no_error; @@ -336,3 +337,21 @@ enum cmix_error remove_r_and_s(struct CMixContext const* ctx, char* out_buffer, ctx->api.free_group_element(inv_pirs); ctx->api.free_group_element(mult); } + +enum cmix_error get_pub_key_hash(struct CMixContext const* ctx, char** buffer) +{ + char* buffer2; + size_t len; + ctx->api.get_pub_key_hash(&buffer2, &len, ctx->keypair.pub); + + size_t hex_len = len*2+1; + *buffer = (char*) calloc(hex_len, sizeof(char)); + + for(size_t i = 0; i < len; i++) { + sprintf(&(*buffer)[i*2],"%hhX",buffer2[i]); + } + + ctx->api.free_buffer(buffer2); + + return no_error; +} |
