Таблица 4.6.2.56. Структура PInitRes
PInitRes |
S(M, PInitResData) |
PInitResData |
{TransIDs, RRPID, Chall-C, Chall-M, [BrandCRLIdentifier], PEThumb, [Thumbs], [PIRsExtensions]} |
TransIDs |
Смотри описание структуры TransID выше |
RRPID |
Идентификатор пары запрос/отклик |
Chall-C |
Копируется из сообщения PInitReq |
Chall-M |
Вызов продавца, служащий для проверки новизны подписи владельца карты |
BrandCRLIdentifier |
Список текущих CRL для всех СА в рамках заданной платежной системы. |
PEThumb |
Оттиск сертификата ключевого обмена расчетного центра. |
Thumbs |
Копируется из PInitReq |
PIRsExtensions |
Запрос инициализации покупки незашифрован, по этой причине эти расширения не должны содержать конфиденциальных данных. |
При получении владельцем карты сообщения PInitRes он обрабатывает его следующим образом.
Шаг |
Действие |
1 |
Извлечь PInitRes из входного сообщения |
2 |
Вызвать Receive SignedData |
3 |
Проверить TransID следующим образом:
с) Если LID-M не был послан и имеется LID-M, то: |
4 |
Сравнить RRPID со значением из записи транзакции. Если они отличаются, то: |
5 |
Сравнить Сhall-C со значением из записи транзакции. Если они отличаются, то: |
6 |
В опционном варианте управления со стороны владельца карты из сертификата продавца извлекается его имя и отображается для пользователя. Если владелец карты одобряет кандидатуру, процесс продолжается, в противном случае обработка PInitRes прерывается. |
7 |
Занести данные, включая TransID и Chall-M, в запись транзакции |
8 |
Обработать BrandCRLIdentifier, если он присутствует. |
9 |
Использовать PEThumb для идентификации сертификата шифрования (Cert-PE), чтобы использовать в PReq при шифровании данных для расчетного центра. |
10 |
Проверить, что сертификат платежной системы продавца и сертификат расчетного центра (Cert-PE) согласуются с платежной системой владельца карты, указанной в PInitReq. Если согласия нет, владелец карты оповещается об этом, а обработка PInitReq прерывается. |
11 |
Если поле Thumbs присутствует, сравнить его значение с тем, что прислано в PInitReq. Если значения совпадают, перейти к исполнению пункта 14, в противном случае: |
12 |
Если поле Thumbs отсутствует, проверить, что Thumbs не было послано в PInitReq. Если Thumbs было послано в PInitReq, то: |
13 |
Если PIRsExtensions существуют, их необходимо обработать. Если они не распознаны, а флаг критичности (criticality) равен TRUE, сформировать сообщение Error, в противном случае расширения следует игнорировать. |
14 |
Проверить Cert-PE (идентифицированный в PEThumb) для неподписанных транзакций. Если индикатор в Cert-PE не допускает неподписанных транзакций, а владелец карты не имеет сертификата, информировать его о том, что транзакция не может быть продолжена и прервать обработку. |
15 |
Владелец карты может теперь продолжить процедуру посылкой запроса покупки. |
Запросы инициализации покупки (PInitReq) несут в себе достаточно информации о владельце карты для программы продавца, чтобы выбрать сертификат платежного центра. Следует иметь в виду, что эти запросы не шифруются и соответствующие расширения не должны нести в себе конфиденциальной информации.
Отклик на запрос инициализации (PInitRes) содержит копии данных из запроса PInitReq, а также сертификаты продавца и расчетного центра. Отклик подписывается продавцом, что позволяет владельцу карты быть уверенным в том, что посланная им в запросе информация дошла до продавца неискаженной (за счет просмотра копий). Отклик PInitRes также не шифруется.