X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=radsecproxy%2Ftlscommon.h;fp=radsecproxy%2Ftlscommon.h;h=5a6d262f65e639aab149da30ad1da2c33f5e731e;hb=3d954bfd2f658ac05a0f20a1241738ed3e3fdd28;hp=0000000000000000000000000000000000000000;hpb=67bdfa83f1879312fef0fbac769f6fb45df12d1a;p=libradsec.git diff --git a/radsecproxy/tlscommon.h b/radsecproxy/tlscommon.h new file mode 100644 index 0000000..5a6d262 --- /dev/null +++ b/radsecproxy/tlscommon.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2007-2009, UNINETT AS */ +/* See LICENSE for licensing information. */ + +#include +#include + +#if defined (__cplusplus) +extern "C" { +#endif + +struct tls { + char *name; + char *cacertfile; + char *cacertpath; + char *certfile; + char *certkeyfile; + char *certkeypwd; + uint8_t crlcheck; + char **policyoids; + uint32_t cacheexpiry; + uint32_t tlsexpiry; + uint32_t dtlsexpiry; + X509_VERIFY_PARAM *vpm; + SSL_CTX *tlsctx; + SSL_CTX *dtlsctx; +}; + +#if defined(RADPROT_TLS) || defined(RADPROT_DTLS) +SSL_CTX *tlsgetctx(uint8_t type, struct tls *t); +X509 *verifytlscert(SSL *ssl); +int subjectaltnameaddr(X509 *cert, int family, const struct in6_addr *addr); +int subjectaltnameregexp(X509 *cert, int type, const char *exact, const regex_t *regex); +int cnregexp(X509 *cert, const char *exact, const regex_t *regex); +#endif + +#if defined (__cplusplus) +} +#endif + +/* Local Variables: */ +/* c-file-style: "stroustrup" */ +/* End: */