# HG changeset patch # User Matthew Wild # Date 1289005801 0 # Node ID bbf12f9be71c7d0257632143d5e22eb2ce0282df # Parent 20528cb40c4a1fba3a27283713712aa90b1676d8 x509: Add :valid_at() method to discover whether a certificate would be valid at the given timestamp diff -r 20528cb40c4a -r bbf12f9be71c src/x509.c --- a/src/x509.c Sat Nov 06 00:39:17 2010 +0000 +++ b/src/x509.c Sat Nov 06 01:10:01 2010 +0000 @@ -192,6 +192,15 @@ return 1; } +int meth_valid_at(lua_State* L) +{ + X509* cert = luasec_to_x509(L, 1); + time_t time = luaL_checkinteger(L, 2); + lua_pushboolean(L, (X509_cmp_time(X509_get_notAfter(cert), &time) > 0 + && X509_cmp_time(X509_get_notBefore(cert), &time) < 0)); + return 1; +} + int meth_pem(lua_State* L) { X509* cert = luasec_to_x509(L, 1); @@ -256,6 +265,7 @@ {"subject", meth_subject}, {"issuer", meth_issuer}, {"extensions", meth_extensions}, + {"valid_at", meth_valid_at}, {"pem", meth_pem}, {"digest", meth_digest}, {NULL, NULL}