31 lines
694 B
C++
31 lines
694 B
C++
#include <ssl_stream.h>
|
|
#include <tfe_utils.h>
|
|
struct ssl_policy_enforcer
|
|
{
|
|
|
|
};
|
|
|
|
struct ssl_policy_enforcer* ssl_policy_enforcer_create(void)
|
|
{
|
|
return NULL;
|
|
}
|
|
enum ssl_stream_action ssl_policy_enforce(struct ssl_stream *upstream, void* u_para)
|
|
{
|
|
UNUSED struct ssl_policy_enforcer* enforcer=(struct ssl_policy_enforcer*)u_para;
|
|
UNUSED int ret=0;
|
|
int pinning_staus=0, is_ev=0;
|
|
ret=ssl_stream_get_integer_opt(upstream, SSL_STREAM_OPT_PINNING_STATUS, &pinning_staus);
|
|
assert(ret==1);
|
|
ret=ssl_stream_get_integer_opt(upstream, SSL_STREAM_OPT_IS_EV_CERT, &is_ev);
|
|
assert(ret==1);
|
|
if(pinning_staus>0||is_ev)
|
|
{
|
|
return SSL_ACTION_PASSTHROUGH;
|
|
}
|
|
else
|
|
{
|
|
return SSL_ACTION_INTERCEPT;
|
|
}
|
|
}
|
|
|