aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2010-09-10 22:14:12 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2010-09-10 22:26:03 +0200
commit80f86acccb29f32fac4a729b8fa0cd44a7690ecc (patch)
treef9f77a979236d336840f50dfe8f8e6860c3339e6
parent41f525becda188828ab0f596e6f21e9369211c1a (diff)
downloadstrongswan-80f86acccb29f32fac4a729b8fa0cd44a7690ecc.tar.bz2
strongswan-80f86acccb29f32fac4a729b8fa0cd44a7690ecc.tar.xz
show validity of OCSP responses
-rw-r--r--src/libcharon/plugins/stroke/stroke_list.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/libcharon/plugins/stroke/stroke_list.c b/src/libcharon/plugins/stroke/stroke_list.c
index 5825df0b7..de822f49b 100644
--- a/src/libcharon/plugins/stroke/stroke_list.c
+++ b/src/libcharon/plugins/stroke/stroke_list.c
@@ -1027,9 +1027,10 @@ static void stroke_list_crls(linked_list_t *list, bool utc, FILE *out)
*/
static void stroke_list_ocsp(linked_list_t* list, bool utc, FILE *out)
{
- bool first = TRUE;
+ bool first = TRUE, ok;
enumerator_t *enumerator = list->create_enumerator(list);
certificate_t *cert;
+ time_t produced, usable, now = time(NULL);
while (enumerator->enumerate(enumerator, (void**)&cert))
{
@@ -1040,8 +1041,20 @@ static void stroke_list_ocsp(linked_list_t* list, bool utc, FILE *out)
fprintf(out, "\n");
first = FALSE;
}
-
fprintf(out, " signer: \"%Y\"\n", cert->get_issuer(cert));
+
+ /* check validity */
+ ok = cert->get_validity(cert, &now, &produced, &usable);
+ fprintf(out, " validity: produced at %T\n", &produced, utc);
+ fprintf(out, " usable till %T, ", &usable, utc);
+ if (ok)
+ {
+ fprintf(out, "ok\n");
+ }
+ else
+ {
+ fprintf(out, "expired (%V ago)\n", &now, &usable);
+ }
}
enumerator->destroy(enumerator);
}