Протоколы Internet


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


/p>

Приложение владельца карты обрабатывает сообщение CardCInitRes в следующей последовательности:

Шаг

Действие

1

Получить CardCInitRes из входного сообщения (Receive)

2

Проверить, что RRPID соответствует тому, что был послан в CardCInitReq и тому, который получен в цифровом конверте сообщения CardCInitRes. Если соответствия нет, посылается сообщение об ошибке с кодом ErrorCode равным unknownRRPID

3

Проверить, что полученный список оттисков соответствует тому, что был послан в сообщении CardCInitReq. Если соответствия нет, посылается сообщение об ошибке с кодом ErrorCode равным thumbsMismatch

4

Проверить, что полученный Chall-EE равен посланному в CardCInitReq. Если равенство отсутствует, посылается сообщение об ошибке с кодом ErrorCode равным challengeMismatch.

5

Запомнить LID-CA (если этот элемент был включен) для последующей записи в RegFormReq. Проверить, что полученный Chall-EE равен посланному в CardCInitReq.

6

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

Если приложение владельца карты успешно обработало отклик CardCInitRes, оно может сформировать и послать сообщение RegFormReq. Это сообщение шифруется приложением владельца карты с использованием сертификата, полученного от ССА в CardCInitRes. Последовательность формирования и посылки RegFormReq представлена ниже в таблице.

Шаг

Действие

1

Сформировать RegFormReqData согласно следующему формату:

  • Сформировать новый RRPID
  • Скопировать LID-EE, посланный в CardCInitReq
  • Сформировать новый Chall-EE2
  • Если такой элемент был включен в CardCInitRes, скопировать LID-CA
  • Заполнить RequestType согласно таблице 4.6.2.19, где представлены коды поля RequestType регистрационной формы владельца карты
  • Заполнить поле языка (Language)
  • Опционно ввести список оттисков для каждого CRL, сертификата SET, BrandCRLIdentifier и корневого сертификата, резидентных для кэша оттисков владельца карты (если таковой имеется).

2

Сформировать структуру RegFormReqTBE:

  • Ввести ReqFormReqData
  • Заполнить поле PANOnly, используя PAN и ExNonce. В PAN не используется заполнитель.
  • Сформировать хэш SHA-1 для DER-кодированного PANOnly. Установить код типа содержимого digestedData равным id-set-content-PANOnly

3

Оформить поле данных, подлежащих дополнительному шифрованию:

  • Заполнить PAN. Если PAN имеет длину менее 19 байт, дополнить его до 19 байт
  • Для маскирования PAN сгенерировать новый EXNonce

4

Зашифровать данные, используя оператор EXH со следующими параметрами:

  • RegFormReqTBE в качестве данных, подлежащих шифрованию, и типом contentType данных Envelopeddata равным id-set-content-RegFormReqTBE и
  • Результатом шага 3 в качестве данных, подлежащих шифрованию

Для шифрования используется сертификат идентифицированный CAEThumb в CardCInitRes

5

Вложить результат в цифровой конверт комбинированного сообщения и послать RegFormReq в центр СА

<


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