1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
= nng_tls_config_own_cert(3)
:doctype: manpage
:manmanual: nng
:mansource: nng
:manvolnum: 3
:copyright: Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] + \
Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV] + \
{blank} + \
This document is supplied under the terms of the \
https://opensource.org/licenses/MIT[MIT License].
== NAME
nng_tls_config_own_cert - configure own certificate and key
== SYNOPSIS
[source, c]
-----------
#include <nng/nng.h>
int nng_tls_config_own_cert(nni_tls_config *cfg, const char *cert,
const char *key, const char *pass);
-----------
== DESCRIPTION
The `nng_tls_config_own_cert()` function configures a certificate 'cert'
identifying the local side of a TLS connection used with 'cfg', along with an
associated private or secret key 'key'. The certificate may be
a chain, with the leaf signer first and the root at the end. The
self-signed certificate at the end can be omitted. (The client should already
have it, and will have to in order to validate this certificate anyway).
The 'key' may be encrypted with a password, in which can be supplied in
'pass'. The value NULL should be supplied for 'pass' if the key is not
encrypted.
On servers, it is possible to call this function multiple times for the
same configuration. This can be useful for specifying different parameters
to be used for different cryptographic algorithms.
The certificate located in 'cert' and 'key' must be NUL terminated C
strings containing
https://tools.ietf.org/html/rfc7468[PEM] formatted material.
== RETURN VALUES
This function returns 0 on success, and non-zero otherwise.
== ERRORS
`NNG_ENOMEM`:: Insufficient memory is available.
`NNG_EBUSY`:: The configuration 'cfg' is already in use, and cannot be modified.
`NNG_EINVAL`:: An invalid 'cert' or 'size' was supplied.
== SEE ALSO
<<nng_strerror#,nng_strerror(3)>>,
<<nng_tls_config_alloc#,nng_tls_config_alloc(3)>>,
<<nng_tls_config_cert_key_file#,nng_tls_config_cert_key_file(3)>>,
<<nng#,nng(7)>>
== COPYRIGHT
{copyright}
|