1.2 KiB
1.2 KiB
n_signer C Reference Client
This directory provides a minimal copy/paste-friendly C client for n_signer.
Files
nsigner_client.h/nsigner_client.c:- Unix abstract socket connect helper
- length-prefixed frame send/receive
- generic request API
- helpers for
get_public_keyandsign_event - optional TCP auth envelope attachment via
auth_envelope_build_for_request()
API at a glance
nsigner_client_t client;
nsigner_client_init(&client);
nsigner_client_connect_unix(&client, "nsigner", 5000);
char *resp = NULL;
nsigner_client_get_public_key(&client, "1", "", &resp);
free(resp);
nsigner_client_close(&client);
Auth envelope usage
If transport requires auth envelopes (for TCP mode), set a private key once:
unsigned char privkey[32] = { /* caller key */ };
nsigner_client_set_auth(&client, privkey, "example-client");
Subsequent requests automatically include an auth object.
Ownership rules
- Any
out_response_jsonreturned by the API must be freed by caller usingfree(). nsigner_client_close()only closes the socket; it does not free the client struct itself.
License
Source files in this directory use SPDX 0BSD headers for permissive reuse in external projects.