[back to index]

#include <dkim.h>
DKIM *dkim_sign(
	DKIM_LIB *libhandle,
	const char *id,
	void *memclosure,
	const unsigned char *secretkey,
	const unsigned char *selector,
	const unsigned char *domain,
	dkim_canon_t hdrcanon_alg,
	dkim_canon_t bodycanon_alg,
	dkim_alg_t sign_alg,
	ssize_t length
	DKIM_STAT *statp
Create a new handle for signing a message.
Called When dkim_sign() is called when preparing to process a new message that will be signed later by a private key.
libhandle DKIM library instance handle, returned by an earlier call to dkim_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. This must be a NULL-terminated string containing either a PEM-formatted private key, or a DER-formatted private key after being encoded with base64.
selector The name of the selector to be reported in the signature on this message.
domain The domain doing the signing; this will be the domain whose DNS will be queried by the verifier for key data.
hdrcanon_alg The canonicalization algorithm to use when preparing the headers of this message for signing.
bodycanon_alg The canonicalization algorithm to use when preparing the body of this message for signing.
sign_alg The signing algorithm to use when generating the signature to be attached to this message.
length The number of bytes of the body to sign. A value of -1 will cause the entire message to be signed.
statp Pointer to a DKIM_STAT object which receives the completion status of this operation.
  • DKIM_STAT_INVALID can be returned if, for example, a signing handle using SHA256 is requested when the library was not compiled against a version of OpenSSL that had support for that hash algorithm.
  • On success, a pointer to the created DKIM handle is returned.
  • On failure, NULL is returned and the value of statp is updated to indicate the cause of the problem.

Copyright (c) 2005-2007 Sendmail, Inc. and its suppliers. All rights reserved.
Copyright (c) 2009-2011, 2014, The Trusted Domain Project. All rights reserved.
By using this file, you agree to the terms and conditions set forth in the respective licenses.