add feature-key-keeper
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <openssl/ssl.h>
|
||||
#include "ssl_utils.h"
|
||||
#include <pthread.h>
|
||||
#include <tfe_future.h>
|
||||
#include "tfe_future.h"
|
||||
#include "tfe_utils.h"
|
||||
#include "MESA/MESA_htable.h"
|
||||
#include "event2/event.h"
|
||||
|
||||
struct keyring
|
||||
{
|
||||
@@ -10,11 +12,41 @@ struct keyring
|
||||
X509 *cert;
|
||||
STACK_OF(X509) * chain;
|
||||
};
|
||||
struct key_keeper;
|
||||
|
||||
struct key_keeper
|
||||
{
|
||||
unsigned int mode;
|
||||
char cert_store_host[TFE_STRING_MAX];
|
||||
unsigned int cert_store_port;
|
||||
MESA_htable_handle htable;
|
||||
void* logger;
|
||||
};
|
||||
|
||||
struct key_keeper * key_keeper_init(const char * profile, const char* section, void* logger);
|
||||
|
||||
struct key_keeper * key_keeper_destroy(struct key_keeper *keeper);
|
||||
|
||||
struct keyring* key_keeper_release_cert(future_result_t* result);
|
||||
|
||||
struct keyring* key_keeper_keyring_new(void);
|
||||
|
||||
struct keyring* key_keeper_keyring_new3(EVP_PKEY *key, X509 *cert, STACK_OF(X509) *chain);
|
||||
|
||||
void key_keeper_free_keyring(struct keyring* cert);
|
||||
|
||||
void key_keeper_async_ask(struct future * f, struct key_keeper * keeper, int keyring_id,
|
||||
X509 * origin_cert, int is_cert_valid, struct event_base * evbase);
|
||||
X509 * origin_cert, int is_cert_valid, struct event_base * evbase);
|
||||
|
||||
void key_keeper_keyring_refcount_inc(struct keyring* ring);
|
||||
|
||||
void key_keeper_keyring_set_cert(struct keyring* ring, X509 *cert);
|
||||
|
||||
void key_keeper_keyring_set_key(struct keyring* ring, EVP_PKEY *key);
|
||||
|
||||
void key_keeper_keyring_set_chain(struct keyring* ring, STACK_OF(X509) *chain);
|
||||
|
||||
static void key_keeper_free_serialized();
|
||||
|
||||
static void key_keeper_verify_cb();
|
||||
|
||||
|
||||
|
||||
35
platform/include/internal/tfe_rpc.h
Normal file
35
platform/include/internal/tfe_rpc.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include "tfe_future.h"
|
||||
#include "event2/event.h"
|
||||
|
||||
struct tfe_rpc_response_result{
|
||||
int status_code;
|
||||
const char* status_msg;
|
||||
const char* data;
|
||||
int len;
|
||||
};
|
||||
|
||||
enum TFE_RPC_FLAG
|
||||
{
|
||||
CHUNK_CB = 0,
|
||||
DONE_CB,
|
||||
};
|
||||
|
||||
enum TFE_RPC_METHOD
|
||||
{
|
||||
GET = 0,
|
||||
POST,
|
||||
};
|
||||
|
||||
struct tfe_rpc
|
||||
{
|
||||
void* logger;
|
||||
};
|
||||
|
||||
struct tfe_rpc* tfe_rpc_init(const char * profile, const char* section, void* logger);
|
||||
|
||||
struct tfe_rpc* tfe_rpc_destroy(struct tfe_rpc *rpc);
|
||||
|
||||
struct tfe_rpc_response_result* tfe_rpc_release(void* result);
|
||||
|
||||
void tfe_rpc_async_ask(struct future* f, struct tfe_rpc* rpc, const char* url, int method, int flag, const char* data, int data_len, struct event_base * evbase);
|
||||
Reference in New Issue
Block a user