diff options
author | Stef Walter <stef@memberwebs.com> | 2008-12-09 18:57:59 +0000 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2008-12-09 18:57:59 +0000 |
commit | 128d6627d8a03544137ada01934bf62934982172 (patch) | |
tree | 97e3a2302a50759b630b043d4fc0b4e7f27d4a90 /ckcapi-cert.c | |
parent | f22ca594d066f305c5c289dc522b2a13917234d0 (diff) |
Better handling of attribute data types. Remove concept of a date type.
Diffstat (limited to 'ckcapi-cert.c')
-rw-r--r-- | ckcapi-cert.c | 46 |
1 files changed, 11 insertions, 35 deletions
diff --git a/ckcapi-cert.c b/ckcapi-cert.c index e7edde7..5225286 100644 --- a/ckcapi-cert.c +++ b/ckcapi-cert.c @@ -233,39 +233,6 @@ cert_bytes_attribute(CkCapiObjectData* objdata, CK_ATTRIBUTE_PTR attr) return ckcapi_cert_certificate_get_bytes(cdata->cert, attr); } -static CK_RV -cert_date_attribute(CkCapiObjectData* objdata, CK_ATTRIBUTE_PTR attr) -{ - CertObjectData* cdata = (CertObjectData*)objdata; - FILETIME* ftime; - - ASSERT(cdata); - ASSERT(cdata->cert); - ASSERT(attr); - - switch(attr->type) - { - /* - * Start date for the certificate. - */ - case CKA_START_DATE: - ftime = &cdata->cert->pCertInfo->NotBefore; - break; - - /* - * End date for the certificate. - */ - case CKA_END_DATE: - ftime = &cdata->cert->pCertInfo->NotAfter; - break; - - default: - return CKR_ATTRIBUTE_TYPE_INVALID; - }; - - return ckcapi_return_filetime(attr, ftime); -} - static void cert_data_release(void* data) { @@ -279,7 +246,6 @@ static const CkCapiObjectDataVtable cert_objdata_vtable = { cert_bool_attribute, cert_ulong_attribute, cert_bytes_attribute, - cert_date_attribute, cert_data_release, }; @@ -560,7 +526,17 @@ ckcapi_cert_certificate_get_bytes(PCCERT_CONTEXT cert, CK_ATTRIBUTE_PTR attr) case CKA_HASH_OF_ISSUER_PUBLIC_KEY: return ckcapi_return_data(attr, "", 0); - /* Not supported */ + /* + * Start date for the certificate. + */ + case CKA_START_DATE: + return ckcapi_return_filetime(attr, &cert->pCertInfo->NotBefore); + + /* + * End date for the certificate. + */ + case CKA_END_DATE: + return ckcapi_return_filetime(attr, &cert->pCertInfo->NotAfter); default: return CKR_ATTRIBUTE_TYPE_INVALID; |