Протоколы Internet


SET и другие системы осуществления платежей - часть 29


Тип EnvelopedData из PKCS #7 проиллюстрирован на рис. 4.6.2.6.

Рис. 4.6.2.6. EnvelopedData

В пределах EnvelopedData допускается наличие нескольких EnvelopedData и только одно RecepientInfo.

Тип EncryptedData из PKCS #7 проиллюстрирован на рис. 4.6.2.7.

Рис. 4.6.2.7. EncryptedData

Тип DigestedData из PKCS #7 проиллюстрирован на рис. 4.6.2.8.

Рис. 4.6.2.8. DigestedData

Обработка сообщений

Базовыми процедурами протокола SET является посылка и прием сообщений. Процесс отправки сообщения представлен в таблице 4.6.2.4.

Таблица 4.6.2.4

. Отправление сообщения

Шаг

Действие

1

Генерация сообщения SET

2

Вложение кода текущей версии в MessageWrapper (цифровой конверт, сейчас 1 или 0)

3

Вложить код даты, включая время.

4

Заполнить MessageID из полей TransID в Message. Если MessageID в Message отсутствует, поле опускается.

5

Вводится RRPID. Если это запрос, генерируется RRPID и запоминается для последующего сравнения с соответствующим кодом отклика. Если посылается отклик, то RRPID копируется из запроса.

6

Вводится SWIdent. Это строка, которая идентифицирует разработчика и версию программного продукта

7

Вкладывается Message

8

Производится DER-кодирование вложенного сообщения

9

Сообщение передается на транспортный уровень

Процедура обработки входящего сообщения рассмотрена в таблице 4.6.2.5.

Таблица 4.6.2.5.

Прием и обработка входного сообщения

Шаг

Действие

1

Извлекается цифровой конверт сообщения

2

Проверяется формат и содержимое полей цифрового конверта сообщения: версия, субверсия, дата/время, тип сообщения. Если обнаружена ошибка, возвращается отклик Error с ErrorCode.

3

Используя RRPID, производится сравнение и актуализация контрольного журнала на предмет выявления повторных сообщений

4

Произвести DER-декодирование сообщения

5

Если сообщение содержит SignedData, произвести следующее:

    1. Актуализовать системный кэш с учетом полученных CRL.
    2. Для каждого полученного сертификата, произвести верификацию цепочки сертификатов
    3. Проверить подпись сообщения

    6

    Если сообщение содержит инкапсулированные данные, выполняется извлечение вложенных данных согласно типу вложенного содержимого, включая шаг 5, если вложенные данные содержат SignedData

    7

    Извлечь идентификаторы BrandCRLIdentifier, включенные в сообщение и актуализовать системный кэш, проверить, что все CRL, идентифицированные BCI, находятся в системном кэше. В противном случае обработка сообщения прерывается.

    8

    Обработать сообщение

    9

    Актуализовать системный журнал с учетом состояния транзакции

    <


    Начало  Назад  Вперед



    Книжный магазин