This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tfe/platform/test/test_key_keeper.cpp

61 lines
1.7 KiB
C++

#include "key_keeper.h"
#include "tfe_future.h"
#include "ssl_utils.h"
#include "tfe_rpc.h"
void ask_key_keeper_on_succ(void* result, void* user);
void ask_key_keeper_on_fail(enum e_future_error error, const char * what, void * user);
int main()
{
void* logger = NULL;
future_promise_library_init();
struct event_base* evbase = event_base_new();
struct key_keeper * keeper = key_keeper_init("./conf/tfe.conf", "key_keeper", logger);
struct promise* user = NULL;
struct future* f = future_create("key_keeper", ask_key_keeper_on_succ, ask_key_keeper_on_fail, user);
X509* origin_cert = ssl_x509_load("./conf/origin_cert.pem");
printf("-------------------------------\n");
int i = 0;
printf("call key_keeper_async_ask, i = %d\n", i);
key_keeper_async_ask(f, keeper, "www.baidu.com", 1, origin_cert, 1, evbase);
event_base_dispatch(evbase);
/*
struct event_base* evbase1 = event_base_new();
struct future* f1 = future_create("key_keeper", ask_key_keeper_on_succ, ask_key_keeper_on_fail, user);
key_keeper_async_ask(f1, keeper, "www.baidu.com", 0, origin_cert, 0, evbase1);
event_base_dispatch(evbase1);
*/
}
void ask_key_keeper_on_succ(void* result, void* user)
{
//printf("call ask_key_keeper_on_succ\n");
struct keyring* kyr = key_keeper_release_keyring(result);
X509* cert = kyr->cert;
EVP_PKEY* key = kyr->key;
STACK_OF(X509) * chain = kyr->chain;
if(cert)
{
printf("cert is not null\n");
}
if(key)
{
printf("key is not null\n");
}
if(chain)
{
printf("chain is not null\n");
}
return;
}
void ask_key_keeper_on_fail(enum e_future_error error, const char * what, void * user)
{
printf("call ask_key_keeper_on_fail\n");
printf("what is %s\n", what);
}