libssh2_agent_sign(3)

libssh2_agent_sign3

Sign data, with the help of ssh-agent

Usage

#include <libssh2.h>
int
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);

Overview

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_set2(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.

Return value

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

Releases

Unchanged in 2 releases since Debian 13 (Trixie).

  1. 13–Arch

Availability

Added in libssh2 1.11.0

From libssh2 1.11.1-7 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.