#define CERT_SUBJECT_PASSWORD ""
#define CERT_INFO_PREFIX ""
+/*
+ * Properties of cert for generating
+ */
+typedef struct {
+ char *issuer_crt; /* filename of the issuer certificate */
+ char *subject_key; /* filename of the subject key file */
+ char *issuer_key; /* filename of the issuer key file */
+ const char *subject_pwd; /* password for the subject key file */
+ const char *issuer_pwd; /* password for the issuer key file */
+ char *output_file; /* where to store the constructed key file */
+ const char *subject_name; /* subject name for certificate */
+ char issuer_name[ISSUER_NAME_BUF_SIZE]; /* issuer name for certificate */
+ const char *not_before; /* validity period not before */
+ const char *not_after; /* validity period not after */
+ const char *serial; /* serial number string */
+ int is_ca; /* is a CA certificate */
+ int max_pathlen; /* maximum CA path length */
+} cert_options;
+
+/*
+ * Properties of key for generating
+ */
+typedef struct {
+ mbedtls_pk_type_t type; /* type of key to generate */
+ int rsa_keysize; /* length of key in bits */
+ char *key_file_path; /* filename of the key file */
+} key_options;
extern int generate_webpage_certificate(struct client_state * csp);
static char * make_certs_path(const char * conf_dir, const char * file_name, const char * suffix);
* Returns : N/A
*
*********************************************************************/
-static void close_client_ssl_connection(struct client_state *csp)
+extern void close_client_ssl_connection(struct client_state *csp)
{
int ret = 0;
/*********************************************************************
+ *
* Function : close_client_and_server_ssl_connections
*
* Description : Checks if client or server should use secured
/*====================== Certificates ======================*/
/*********************************************************************
+ *
* Function : write_certificate
*
* Description : Writes certificate into file.
/*********************************************************************
+ *
* Function : write_private_key
*
* Description : Writes private key into file and copies saved
/*********************************************************************
+ *
* Function : generate_key
*
* Description : Tests if private key for host saved in csp already
/*********************************************************************
-*
-* Function : host_to_hash
-*
-* Description : Creates MD5 hash from host name. Host name is loaded
-* from structure csp and saved again into it.
-*
-* Parameters :
-* 1 : csp = Current client state (buffers, headers, etc...)
-*
-* Returns : 1 => Error while creating hash
-* 0 => Hash created successfully
-*
-*********************************************************************/
+ *
+ * Function : host_to_hash
+ *
+ * Description : Creates MD5 hash from host name. Host name is loaded
+ * from structure csp and saved again into it.
+ *
+ * Parameters :
+ * 1 : csp = Current client state (buffers, headers, etc...)
+ *
+ * Returns : 1 => Error while creating hash
+ * 0 => Hash created successfully
+ *
+ *********************************************************************/
static int host_to_hash(struct client_state * csp)
{
int ret = 0;