CoreDX DDS C Reference Manual
coredx_ssl_transport.h
Go to the documentation of this file.
1 /*****************************************************************
2  *
3  * file: cdx_ssl_transport.h
4  * desc: This file provides the CoreDX DDS SSL Transport API.
5  *
6  *****************************************************************
7  *
8  * Copyright(C) 2006-2016 Twin Oaks Computing, Inc
9  * All rights reserved. Castle Rock, CO 80108
10  *
11  *****************************************************************
12  * This software has been provided pursuant to a License Agreement
13  * containing restrictions on its use. This software contains
14  * valuable trade secrets and proprietary information of
15  * Twin Oaks Computing, Inc and is protected by law. It may not be
16  * copied or distributed in any form or medium, disclosed to third
17  * parties, reverse engineered or used in any manner not provided
18  * for in said License Agreement except with the prior written
19  * authorization from Twin Oaks Computing, Inc.
20  *****************************************************************/
21 #ifndef _COREDX_SSL_TRANSPORT_H
22 #define _COREDX_SSL_TRANSPORT_H
23 
24 #include <dds/coredx_transport.h>
25 #include <dds/dds_seq.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 # if defined(__linux__) || defined(_WIN32) || defined(__MACH__)
32 # define COREDX_HAS_SSL_TRANSPORT 1
33 # endif
34 
54  typedef struct CoreDX_SslTransportConfig {
58  CoreDX_IpTransportInterfaceSeq interfaces;
59  unsigned char dynamic_interfaces;
62  /* SERVER: */
63  const char * server_cert_file;
64  const char * server_key_file;
65  unsigned char server_verify_client;
69  /* CLIENT: */
70  const char * client_cert_file;
71  const char * client_key_file;
74  unsigned int debug_flags;
76 
77 # define COREDX_SSL_TRANSPORT_CONFIG_DEFAULT NULL
78 
85  COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_SslTransport_get_default_config( CoreDX_SslTransportConfig * config );
93  COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_SslTransport_get_env_config ( CoreDX_SslTransportConfig * config );
97  COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_SslTransport_clear_config ( CoreDX_SslTransportConfig * config );
105  COREDX_C_ADD_API CoreDX_Transport * CoreDX_SslTransport_create_transport ( CoreDX_SslTransportConfig * config );
131  COREDX_C_ADD_API DDS_ReturnCode_t CoreDX_SslTransport_get_peer_cert ( CoreDX_Transport * ssl_transport,
132  DDS_BuiltinTopicKey_t * participant_key,
133  DDS_BuiltinTopicKey_t * entity_key,
134  unsigned char * der_buffer,
135  int * der_buffer_len );
136 
137 
138 #ifdef __cplusplus
139 }
140 #endif
141 
142 #endif
unsigned int debug_flags
Definition: coredx_ssl_transport.h:74
const char * client_cert_file
Definition: coredx_ssl_transport.h:70
int tx_max_packet_size
Definition: coredx_ssl_transport.h:60
int DDS_ReturnCode_t
Definition: dds_types.h:56
const char * client_verify_ca_list_file
Definition: coredx_ssl_transport.h:72
short participant_index
Definition: coredx_ssl_transport.h:55
CoreDX_IpTransportInterfaceSeq interfaces
Definition: coredx_ssl_transport.h:58
Definition: dds_builtin_basic.h:30
Structure that holds SSL Transport configuration items.
Definition: coredx_ssl_transport.h:54
const char * client_key_file
Definition: coredx_ssl_transport.h:71
const char * server_verify_ca_list_file
Definition: coredx_ssl_transport.h:66
const char * server_accept_ca_list_file
Definition: coredx_ssl_transport.h:67
const char * server_key_file
Definition: coredx_ssl_transport.h:64
unsigned char server_verify_client
Definition: coredx_ssl_transport.h:65
const char * server_cert_file
Definition: coredx_ssl_transport.h:63
unsigned char dynamic_interfaces
Definition: coredx_ssl_transport.h:59

© 2009-2017 Twin Oaks Computing, Inc
Castle Rock, CO 80108
All rights reserved.