6.3. ПрПП списков отозванных сертификатов
Далее рассматриваются операции, необходимые для определения, является ли сертификат отозванным в тех случаях, когда списки отозванных сертификатов являются способом аннулирования, используемым издателем сертификатов. От прикладных систем и ИТС, придерживающихся данного стандарта и обрабатывающие СОС, не требуется применять данный алгоритм, но они обязаны использовать эквивалентную ПрПП СОС, обеспечивающую функциональную совместимость с внешней процедурной характеристикой, реализуемой X.509-алгоритмом обработки СОС, которые были изданы в соответствие с данным стандартом. Соответствующая прикладная система или ИТС может использовать любой алгоритм сколь угодно долго, но при условии, что он будет приводить к корректному результату. Данный алгоритм подразумевает, что все необходимые СОС, хранящиеся в локальной сверхоперативной памяти (local cache), являются доступными. Более того, если время очередного обновления данных СОС прошло, то алгоритм самостоятельно реализует способ получения текущего (действующего) СОС и размещения его в локальной кэш-памяти, предназначенной для хранения СОС.
Этот алгоритм устанавливает совокупности входных данных, переменных состояния и операции обработки, которые используются при обработке каждого сертификата в МС.
6.3.1. Входные данные для аннулирования
Для обеспечения процедуры аннулирования алгоритму требуются два вида входных данных:
Сертификат:
Для алгоритма необходимы последовательный номер сертификата и имя издателя с целью определения, представлен ли сертификат в соответствующем СОС. Субполе «basicConstraints» в поле «Расширения» используется для определения, связан ли обрабатываемый сертификат с УЦ или конечным пользователем. Если представлено, то алгоритм использует субполя «cRLDistributionPoints» и «freshestCRL» для определения состояния отзыва.
Использование усечённых СОС («use-deltas»):
Это входное булево число, которое определяет, используются для СОС усечённые СОС.
6.3.2. Фаза инициализации и переменные состояния отзыва
Для обеспечения процедуры обработки СОС алгоритму требуются следующие переменные состояния:
Маска причин («reasons_mask»)
Эта переменная включает набор причин отзыва, содержащихся в СОС и усечённых СОС, которые обрабатываются в дальнейшем. В этот набор могут входить только приемлемые причины отзыва, т.е. все возможные, за исключением не установленных, а именно: «keyCompromise», «cACompromise», «affiliationChanged», «superseded», «cessationOfOperation», «certificateHold», «privilegeWithdrawn» и «aACompromise». Существует специальное значение «all-reasons», которое указывает на то, что в набор входят все приемлемые причины отзыва. Эта переменная в фазе инициализации является пустым набором.
Состояние сертификата («cert_status»)
Эта переменная содержит указатель состояния сертификата. Ей может быть присвоено одно из следующих значений: «unspecified», «keyCompromise», «cACompromise», «affiliationChanged», «superseded», «cessationOfOperation», «certificateHold», «removeFromCRL», «privilegeWithdrawn», «aACompromise», специальное значение «UNREVOKED» или специальное значение «UNDETERMINED». Эта переменная в фазе инициализации имеет специальное значение «UNREVOKED».
Промежуточная маска причин («interim_reasons_mask»)
Эта переменная включает набор причин отзыва, содержащихся в СОС и усечённых СОС, которые находятся в обработке в текущий момент времени.
Следует отметить, что в некоторых прикладных системах и ИТС не необходимости проверять все коды причин отзыва. Например, некоторые системы интересуют только сертификаты УЦ с кодами причин «cACompromise» и «keyCompromise». Данный алгоритм проверяет все коды причин отзыва. Для ограниченной проверки подмножества кодов причин отзыва может понадобиться дополнительные проверка и переменные состояния.