# dk_sign()

SYNOPSIS |
    #include <dk.h>
    DK *dk_sign(
    	DK_LIB *libhandle,
    	const char *id,
    	void *memclosure,
    	const void *secretkey,
    	dk_canon_t canon_alg,
    	dk_alg_t sign_alg,
    	DK_STAT *statp
    );
Create a new handle for signing a message.
DESCRIPTION |
Called When | `dk_sign()` is called when preparing to process a new message that will be signed later by a private key.
ARGUMENTS |
Argument | Description
--- | ---
libhandle | DomainKeys library instance handle, returned by an earlier call to `dk_init()`.
id | An opaque, printable string for identifying this message, suitable for use in logging or debug output.
memclosure | Opaque memory closure, passed directly to the caller-provided `malloc()` and/or `free()` replacement functions.
secretkey | The private key to be used when signing this message.
canon_alg | The canonicalization algorithm to use when preparing this message for signing.
sign_alg | The signing algorithm to use when generating the signature to be attached to this message.
statp | Pointer to a `DK_STAT` object which receives the completion status of this operation.
NOTES | None.

Copyright (c) 2004 Sendmail, Inc. and its suppliers. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the LICENSE.