md: derive md_read_only from PKCS#15 profile

This commit is contained in:
Frank Morgner 2018-07-16 09:26:32 +02:00
parent 1f06a76b1a
commit e36c1468e5

View File

@ -684,8 +684,22 @@ md_is_pinpad_dlg_enable_cancel(PCARD_DATA pCardData)
static BOOL
md_is_read_only(PCARD_DATA pCardData)
{
BOOL ret = TRUE;
logprintf(pCardData, 2, "Is read-only?\n");
return md_get_config_bool(pCardData, "md_read_only", TRUE);
if (pCardData && pCardData->pvVendorSpecific) {
VENDOR_SPECIFIC *vs = (VENDOR_SPECIFIC*) pCardData->pvVendorSpecific;
if (vs->p15card && vs->p15card->tokeninfo) {
if (vs->p15card->tokeninfo->flags & SC_PKCS15_TOKEN_READONLY) {
ret = TRUE;
} else {
ret = FALSE;
}
}
}
return md_get_config_bool(pCardData, "md_read_only", ret);
}