kcapi_akcipher_sign - Man Page

signature generation

Synopsis

ssize_t kcapi_akcipher_sign(struct kcapi_handle * handle, const uint8_t * in, size_t inlen, uint8_t * out, size_t outlen, int access);

Arguments

handle

[in] cipher handle

in

[in] message data buffer

inlen

[in] length of in buffer

out

[out] signature data buffer

outlen

[in] length of out buffer

access

[in] kernel access type (KCAPI_ACCESS_HEURISTIC - use internal heuristic for fastest kernel access; KCAPI_ACCESS_VMSPLICE - use vmsplice access; KCAPI_ACCESS_SENDMSG - sendmsg access)

Description

It is perfectly legal to use the same buffer as the message and signature pointers​. That would mean that after the signature generation operation, the message is overwritten with the signature​.

The memory should be aligned at the page boundary using posix_memalign(sysconf(_SC_PAGESIZE)), If it is not aligned at the page boundary, the vmsplice call may not send all data to the kernel​.

If the output size is insufficiently large, -EINVAL is returned​. The output buffer must be at least as large as the modululs of the uses key​.

return number of bytes returned by the signature gen operation upon success; a negative errno-style error code if an error occurred

Author

Stephan Mueller <​smueller@chronox.de​>

Author.

Info

August 2026 libkcapi Manual 1.5.1 Programming Interface