X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=test%2Fsign-verify.c;h=8e21b50a0ac484773f9fa859aa52081e2007f5a9;hb=refs%2Fheads%2Fencrypted-storage;hp=bd05c11285036cd0ae35abdfcc38627fe0a6dc32;hpb=76c7550c8ab0e9c0ee14a9c396baa008cfb9bc42;p=meshlink diff --git a/test/sign-verify.c b/test/sign-verify.c index bd05c112..8e21b50a 100644 --- a/test/sign-verify.c +++ b/test/sign-verify.c @@ -5,16 +5,18 @@ #include "meshlink.h" -int main(int argc, char *argv[]) { +int main() { // Open two new meshlink instance. meshlink_handle_t *mesh1 = meshlink_open("sign_verify_conf.1", "foo", "sign-verify", DEV_CLASS_BACKBONE); + if(!mesh1) { fprintf(stderr, "Could not initialize configuration for foo\n"); return 1; } meshlink_handle_t *mesh2 = meshlink_open("sign_verify_conf.2", "bar", "sign-verify", DEV_CLASS_BACKBONE); + if(!mesh2) { fprintf(stderr, "Could not initialize configuration for bar\n"); return 1; @@ -55,18 +57,21 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Signing failed\n"); return 1; } + if(siglen != MESHLINK_SIGLEN) { fprintf(stderr, "Signature has unexpected length %zu != %zu\n", siglen, MESHLINK_SIGLEN); return 1; } meshlink_node_t *foo = meshlink_get_node(mesh2, "foo"); + if(!foo) { fprintf(stderr, "Bar did not know about node foo\n"); return 1; } meshlink_node_t *bar = meshlink_get_node(mesh2, "bar"); + if(!bar) { fprintf(stderr, "Bar did not know about node bar\n"); return 1; @@ -83,14 +88,17 @@ int main(int argc, char *argv[]) { fprintf(stderr, "False positive verification with half sized signature\n"); return 1; } + if(meshlink_verify(mesh2, foo, testdata1, sizeof(testdata1), sig, siglen * 2)) { fprintf(stderr, "False positive verification with double sized signature\n"); return 1; } + if(meshlink_verify(mesh2, foo, testdata2, sizeof(testdata2), sig, siglen)) { fprintf(stderr, "False positive verification with wrong data\n"); return 1; } + if(meshlink_verify(mesh2, bar, testdata1, sizeof(testdata1), sig, siglen)) { fprintf(stderr, "False positive verification with wrong signer\n"); return 1;