diff options
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; | 
