libssh2_agent_sign(3) libssh2 libssh2_agent_sign(3)

libssh2_agent_sign - sign data, with the help of ssh-agent

#include <libssh2.h>
libssh2_agent_sign(LIBSSH2_AGENT *agent,

struct libssh2_agent_publickey *identity,
unsigned char **sig,
size_t *s_len,
const unsigned char *data,
size_t d_len,
const char *method,
unsigned int method_len);

agent - ssh-agent handle as returned by libssh2_agent_init(3)

identity - Public key to authenticate with, as returned by libssh2_agent_get_identity(3)

sig - A pointer to a buffer in which to place the signature. The caller is responsible for freeing the signature with LIBSSH2_FREE.

s_len - A pointer to the length of the sig parameter.

data - The data to sign.

d_len - The length of the data parameter.

method - A buffer indicating the signing method. This should match the string at the start of identity->blob.

method_len - The length of the method parameter.

Sign data using an ssh-agent. This function can be used in a callback registered with libssh2_session_callback_set(3) using LIBSSH2_CALLBACK_AUTHAGENT_SIGN to sign an authentication challenge from a server. However, the client is responsible for implementing the code that calls this callback in response to a SSH2_AGENTC_SIGN_REQUEST message.

Returns 0 if succeeded, or a negative value for error.

Added in libssh2 1.11.0

libssh2_agent_init(3) libssh2_agent_get_identity(3) libssh2_agent_userauth(3) libssh2_session_callback_set(3)

1 Oct 2022 libssh2