Common secure socket support.
More...
#include <secure.h>
|
virtual | ~secure () |
| This is derived in different back-end libraries, and will be used to clear certificate credentials. More...
|
|
bool | is_valid (void) const |
| Determine if the current security context is valid. More...
|
|
error_t | err (void) const |
| Get last error code associated with the security context. More...
|
|
| operator bool () const |
|
bool | operator! () const |
|
|
static bool | init (void) |
| Initialize secure stack for first use, and report if SSL support is compiled in. More...
|
|
static bool | fips (void) |
| Initialize secure stack with fips support. More...
|
|
static int | oscerts (const char *path) |
| Copy system certificates to a local path. More...
|
|
static const char * | oscerts (void) |
| Get path to system certificates. More...
|
|
static server_t | server (const char *keyfile=NULL, const char *authority=NULL) |
| Create a sever context. More...
|
|
static client_t | client (const char *authority=NULL, const char *paths=NULL) |
| Create an anonymous client context with an optional authority to validate. More...
|
|
static client_t | user (const char *authority) |
| Create a peer user client context. More...
|
|
static void | cipher (secure *context, const char *ciphers) |
| Assign a non-default cipher to the context. More...
|
|
static void | uuid (char *string) |
| Create 36 character traditional version 1 uuid. More...
|
|
static secure::string | pass (const char *prompt, size_t size) |
|
static secure::string | uuid (void) |
|
Common secure socket support.
This offers common routines needed for secure/ssl socket support code.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 128 of file secure.h.
◆ bufio_t
Convenience type to represent a secure socket buf i/o stream.
Definition at line 180 of file secure.h.
◆ cert_t
Convenience type to represent a ssl certificate object.
Definition at line 175 of file secure.h.
◆ client_t
Convenience type to represent a security context.
Definition at line 163 of file secure.h.
◆ keybytes
◆ server_t
◆ session_t
Convenience type to represent a secure socket session.
Definition at line 170 of file secure.h.
◆ string
◆ error_t
Different error states of the security context.
Enumerator |
---|
OK | |
INVALID | |
MISSING_CERTIFICATE | |
MISSING_PRIVATEKEY | |
INVALID_CERTIFICATE | |
INVALID_AUTHORITY | |
INVALID_PEERNAME | |
INVALID_CIPHER | |
Definition at line 134 of file secure.h.
◆ verify_t
Enumerator |
---|
NONE | |
SIGNED | |
VERIFIED | |
Definition at line 136 of file secure.h.
◆ secure()
ucommon::secure::secure |
( |
| ) |
|
|
inlineprotected |
◆ ~secure()
ucommon::secure::~secure |
( |
| ) |
|
|
virtual |
This is derived in different back-end libraries, and will be used to clear certificate credentials.
Definition at line 124 of file secure.cpp.
◆ __DELETE_COPY()
ucommon::secure::__DELETE_COPY |
( |
secure |
| ) |
|
|
private |
◆ cipher()
void ucommon::secure::cipher |
( |
secure * |
context, |
|
|
const char * |
ciphers |
|
) |
| |
|
static |
Assign a non-default cipher to the context.
- Parameters
-
context | to set cipher for. |
ciphers | to set. |
Definition at line 67 of file secure.cpp.
◆ client()
secure::client_t ucommon::secure::client |
( |
const char * |
authority = NULL , |
|
|
const char * |
paths = NULL |
|
) |
| |
|
static |
◆ err()
error_t ucommon::secure::err |
( |
void |
| ) |
const |
|
inline |
◆ fips()
bool ucommon::secure::fips |
( |
void |
| ) |
|
|
static |
Initialize secure stack with fips support.
If fips support is not successfully enabled, the secure stack is also not initialized. Hence init() can be used for non-fips certified operation if fips fails.
- Returns
- true if fips support enabled and stack initialized.
Definition at line 32 of file secure.cpp.
◆ init()
bool ucommon::secure::init |
( |
void |
| ) |
|
|
static |
◆ is_valid()
bool ucommon::secure::is_valid |
( |
void |
| ) |
const |
|
inline |
Determine if the current security context is valid.
- Returns
- true if valid, -1 if not.
Definition at line 249 of file secure.h.
References error.
◆ operator bool()
ucommon::secure::operator bool |
( |
| ) |
const |
|
inline |
◆ operator!()
bool ucommon::secure::operator! |
( |
| ) |
const |
|
inline |
◆ oscerts() [1/2]
int ucommon::secure::oscerts |
( |
const char * |
path | ) |
|
|
static |
◆ oscerts() [2/2]
const char * ucommon::secure::oscerts |
( |
void |
| ) |
|
|
static |
◆ pass()
static secure::string ucommon::secure::pass |
( |
const char * |
prompt, |
|
|
size_t |
size |
|
) |
| |
|
static |
◆ server()
secure::server_t ucommon::secure::server |
( |
const char * |
keyfile = NULL , |
|
|
const char * |
authority = NULL |
|
) |
| |
|
static |
◆ user()
static client_t ucommon::secure::user |
( |
const char * |
authority | ) |
|
|
static |
Create a peer user client context.
This assumes a user certificate in ~/.ssl/certs and the user private key in ~/.ssl/private. The path to an authority is also sent.
- Parameters
-
◆ uuid() [1/2]
void ucommon::secure::uuid |
( |
char * |
string | ) |
|
|
static |
◆ uuid() [2/2]
◆ error
The documentation for this class was generated from the following files: