From 80e388332cf2064cf71827cd7a695209366cbf3a Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Wed, 29 Sep 2010 12:02:23 -0400 Subject: [PATCH 020/150] - first pass at selecting the default cert --- src/plugins/preauth/pkinit/pkinit_crypto_nss.c | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_nss.c b/src/plugins/preauth/pkinit/pkinit_crypto_nss.c index a2b2966..ec67911 100644 --- a/src/plugins/preauth/pkinit/pkinit_crypto_nss.c +++ b/src/plugins/preauth/pkinit/pkinit_crypto_nss.c @@ -1341,7 +1341,22 @@ crypto_cert_select_default(krb5_context context, pkinit_req_crypto_context req_cryptoctx, pkinit_identity_crypto_context id_cryptoctx) { - return ENOSYS; + CERTCertificate *cert; + int result, count; + result = crypto_cert_get_count(context, + plg_cryptoctx, + req_cryptoctx, + id_cryptoctx, + &count); + if (result != 0) { + return result; + } + if (id_cryptoctx->id_cert != NULL) { + CERT_DestroyCertificate(id_cryptoctx->id_cert); + } + cert = (CERT_LIST_HEAD(id_cryptoctx->id_certs))->cert; + id_cryptoctx->id_cert = CERT_DupCertificate(cert); + return 0; } krb5_error_code -- 1.7.6.4