libssh2\_agent\_sign(3) libssh2 libssh2\_agent\_sign(3)

# [NAME](#NAME)

libssh2\_agent\_sign - sign data, with the help of ssh-agent

# [SYNOPSIS](#SYNOPSIS)

```
#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);
```

# [DESCRIPTION](#DESCRIPTION)

*agent* - ssh-agent handle as returned by [**libssh2\_agent\_init(3)**](/man/os/libssh2/libssh2_agent_init.3)

*identity* - Public key to authenticate with, as returned by [**libssh2\_agent\_get\_identity(3)**](/man/os/libssh2/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-&gt;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)](/man/os/libssh2/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](#RETURN_VALUE)

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

# [AVAILABILITY](#AVAILABILITY)

Added in libssh2 1.11.0

# [SEE ALSO](#SEE_ALSO)

[**libssh2\_agent\_init(3)**](/man/os/libssh2/libssh2_agent_init.3) [**libssh2\_agent\_get\_identity(3)**](/man/os/libssh2/libssh2_agent_get_identity.3) [**libssh2\_agent\_userauth(3)**](/man/os/libssh2/libssh2_agent_userauth.3) [**libssh2\_session\_callback\_set2(3)**](/man/os/libssh2/libssh2_session_callback_set2.3)

1 Oct 2022 libssh2

---

Document: libssh2_agent_sign(3) from libssh2 1.11.1-r11 (Chainguard OS)
Source: https://github.com/libssh2/libssh2.git
