| 535 } |
535 } |
| 536 |
536 |
| 537 static gboolean |
537 static gboolean |
| 538 x509_times (PurpleCertificate *crt, time_t *activation, time_t *expiration) |
538 x509_times (PurpleCertificate *crt, time_t *activation, time_t *expiration) |
| 539 { |
539 { |
| 540 return FALSE; |
540 CERTCertificate *crt_dat; |
| |
541 PRTime nss_activ, nss_expir; |
| |
542 |
| |
543 g_return_val_if_fail(crt, FALSE); |
| |
544 g_return_val_if_fail(crt->scheme == &x509_nss, FALSE); |
| |
545 |
| |
546 crt_dat = X509_NSS_DATA(crt); |
| |
547 g_return_val_if_fail(crt_dat, FALSE); |
| |
548 |
| |
549 /* Extract the times into ugly PRTime thingies */ |
| |
550 /* TODO: Maybe this shouldn't throw an error? */ |
| |
551 g_return_val_if_fail( |
| |
552 SECSuccess == CERT_GetCertTimes(crt_dat, |
| |
553 &nss_activ, &nss_expir), |
| |
554 FALSE); |
| |
555 |
| |
556 if (activation) { |
| |
557 *activation = nss_activ; |
| |
558 } |
| |
559 if (expiration) { |
| |
560 *expiration = nss_expir; |
| |
561 } |
| |
562 |
| |
563 return TRUE; |
| 541 } |
564 } |
| 542 |
565 |
| 543 static PurpleCertificateScheme x509_nss = { |
566 static PurpleCertificateScheme x509_nss = { |
| 544 "x509", /* Scheme name */ |
567 "x509", /* Scheme name */ |
| 545 N_("X.509 Certificates"), /* User-visible scheme name */ |
568 N_("X.509 Certificates"), /* User-visible scheme name */ |