Таблица 4.6.2.25. Шаблон регистрационной формы MCA и PCA
Me-AqCInitRes |
S(CA, Me-AqCInitResTBS) |
Me-AqCInitResTBS |
{RRPID, LID-EE, Chall-EE, [LID-CA], Chall-CA, RequestType, RegFormOrReferral, [AcctDataField], [Thumbs]} |
RRPID |
ID пары запрос/отклик |
LID-EE |
Копируется из Me-AqCInitReq |
Chall-EE |
Копируется из Me-AqCInitReq |
LID-CA |
Локальный ID; генерируется СА системой или для нее |
Chall-CA |
СА обращение по поводу пригодности сертификата запрашивающей стороны |
RequestType |
Смотри табл. 4.6.2.24 |
RegFormOrReferral |
Смотри табл. 4.6.2.21 |
AcctDataField |
RegField; дополнительное поле регистрационной формы, которое следует отобразить, для того чтобы получить значение AcctData в CertReq |
CAEThumb |
Оттиск сертификата ключевого обмена СА, который должен использоваться для шифрования CertReq |
BrandCRLIdentifier |
Смотри раздел описания BrandCRLIdentifier ниже. |
Thumbs |
Копируется из Me-AqCInitReq |
Приложение SET (продавца или расчетного центра) обрабатывает Me-AqCInitRes
следующим образом:
Шаг | Действие | |
1 | Получить Me-AqCInitRes из входного сообщения. | |
2 | Верифицировать подпись. Если она некорректна, послать сообщение об ошибке с ErrorCode равным signatureFailure. | |
3 | Из Me-AqCInitResTBS извлекаются и запоминаются RRPID, LID-EE, Chall-EE, CAEThumb, BrandCRLIdentifier, оттиски и TequestType | |
4 | Проверяется, что RRPID совпадает со значением, извлеченным из цифрового конверта сообщения и кодом, посланным в Me-AqCInitReq. Если равенства нет, посылается сообщение об ошибке с ErrorCode равным unknownRRPID. | |
5 | Проверяется, что полученный Chall-EE соответствует посланному в Me-AqCInitReq. Если соответствие отсутствует, посылается сообщение об ошибке с ErrorCode равным challengeMisMatch. | |
6 | Проверяется, что полученный список оттисков соответствует посланному в сообщении Me-AqCInitReq. Если соответствие отсутствует, посылается сообщение об ошибке с ErrorCode равным thumbsMisMatch. | |
7 | Если в Me-AqCInitResTBS включено поле RegFormData то:
| |
8 | После того как продавец или расчетный центр заполнили регистрационную форму и ввели AcctData, (если это требуется) генерируется CertReq. | |
9 | Если в Me-AqCInitResTBS включено поле ReferrelData, то:
| |
Шаг | Действие |
1 | Если RequestType соответствует новому сертификату подписи или его обновлению, формируется пара ключей (общедоступный/секретный), необходимых для подписи сертификата |
2 | Если запрашивающим субъектом не является владелец карты и, если RequestType соответствует новому сертификату шифрования, формируется пара ключей (общедоступный/секретный), необходимых для сертификата шифрования. |
3 | Если ЕЕ является владельцем карты, генерируется 160-битовый случайный код – CardSecret. |
4 | Генерируется 160-битовый случайный код – EXNonce |
5 | Формируется CertReqTBS: |
6 |
|
7 | Данные, подлежащие дополнительному шифрованию, имеют следующий формат. Если ЕЕ является продавец карты, заполняется PAN, CardExpiry, CardSecretCardNonce и EXNonce в PANData0. Если ЕЕ является продавец или расчетный центр, опционно заполняется AccTData и EXNonce. |
8 | Данные укладываются в конверт с использованием техники EncX: Включить: Обработка а. В качестве подписанных данных CertReqTBS То, как данные подписываются зависит от RequestType. Имеется как минимум одна и допускаются две подписи, т.е. SignerInfo для CertReq. Если тип запроса относится к новому сертификату подписи, подписать данные, используя секретный ключ, соответствующий общедоступному ключу, содержащемуcя в PublicKeyS. Если тип запроса относится к обновлению сертификата подписи, подписать данные, используя секретный ключ, соответствующий общедоступному ключу, содержащемуся в PublicKeyS и, используя секретный ключ, соответствующий обновляемому сертификату. Если тип запроса относится к сертификату шифрования, подписать данные, используя секретный ключ, соответствующий существующему сертификату подписи. Если данные подписаны секретным ключом, который не соответствует сертификату, установить SignerInfo.SerialNumber равным нулю, а SignerInfo.IssuerName=”Null-DN”, т.е. RDNSequence равна кодированному NULL. Тип содержимого SignedData устанавливается равным id-set-content-CertReqTBS. b. Результат шага 6 в качестве данных, подлежащих дополнительному шифрованию Провести дополнительное шифрование, используя СА-сертификат, указанный CAEThumb в CardCInitRes или RegFormRes, если один из них был включен, или Me-AqCInitRes c. CertReqTBEX в качестве данных, подлежащих шифрованию Зашифровать CertReqTBEX и установить тип содержимого EnvelopedData равным id-set-content-CertReqTBEX |
9 | Сформировать цифровой конверт и послать сообщение CertReq центру СА |
Шаг | Действие |
1 | Если RequestType соответствует обновлению сертификата подписи, формируется пара ключей (секретный/общедоступный) для сертификата подписи |
2 | Если RequestType соответствует новому или обновляемому сертификату шифрования, формируется пара ключей (секретный/общедоступный) для сертификата шифрования |
3 | Сгенерируется 160-битное случайное число - EXNonce |
4 | Данные CertReqData формируются следующим образом: |
5 | Поместить данные в цифровой конверт, используя инкапсуляцию Enc: Включить: Обработка То, как подписываются данные, зависит от RequestType. Имеется как минимум одна и допускаются две подписи, т.е. SignerInfo для CertReq. Если тип запроса соответствует новому сертификату подписи, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который содержится в PublicKeyS. Если тип запроса соответствует обновлению сертификата подписи, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который содержится в PublicKeyS, а затем посредством секретного ключа, соответствующего обновляемому сертификату. Если тип запроса соответствует сертификату шифрования, данные подписываются с применением секретного ключа, составляющего пару с общедоступным ключом, который соответствует существующему сертификату подписи. Если данные подписаны ключом, который еще не соответствует сертификату, следует установить Signer.Info.SerialNumber равным “Null-DN”. Тип содержимого SignedData делается равным id-set-content-CertReqData. Производится DER-кодирование полученной информации SignedData с целью получения CertReqTBE. Для Enc-обработки единственной информацией, которая должна быть зашифрована, является симметричный ключ, используемый для шифрования “обычных данных”. Шифруется ключ с применением сертификата, указанного посредством CAEThumb в Mt-AqCInitRes. Шифруется CertReqTBE и устанавливается ContentType равным id-set-Content-CertReqTBE. |
6 | Подготовить цифровой конверт и послать CertReq центру СА |