Для проверки сертификата в карте (см. приложение В) цифровая подпись сертификата, подлежащая проверке, передается как объект данных в поле данных команды. Открытый ключ органа по сертификации, который применяется при проверке, либо находится в карте, либо выбирается неявно, либо к нему можно обратиться в шаблоне DST, используя команду MANAGE SECURITY ENVIRONMENT (см. таблицу 12). Алгоритм, который должен применяться, неявно известен или к нему можно обратиться в шаблоне DST. Если есть другие объекты данных, которые должны использоваться в процессе проверки (например, хэш-код), то они должны находиться в карте или передаваться, используя процесс формирования цепочки команд.
Необходимо различать следующие два случая:
- если сертификат не требует дополнительного описания (Р2 = "BE"), то карта извлекает открытый ключ, установленный по его тегу, в (восстановленном) содержании сертификата;
- если сертификат требует дополнительного описания (Р2 = "АЕ"), то карта извлекает открытый ключ в сертификате неявно или явно, используя тег открытого ключа в списке заголовка, описывающего содержание сертификата.
Если открытый ключ хранится в памяти, то он будет ключом по умолчанию для последующей операции VERIFY DIGITAL SIGNATURE.
Таблица 12 - Параметры и поле данных для операции VERIFY CERTIFICATE
P1 | "00" |
P2 | "92", "AE" или "BE" |
Командное поле данных | Элементы данных или объекты данных, имеющих отношение к операции |
Ответное поле данных | Отсутствует |
Примечание - Если используется схема частичного восстановления сообщения и часть информации уже записана в карте, то объект данных для вспомогательных данных должен посылаться пустым, а данные должны быть вставлены картой позднее.