114 lines
No EOL
10 KiB
Text
114 lines
No EOL
10 KiB
Text
1. Подписание (в автоматическом режиме) запросов в ЕСИА ключом ЭП.
|
||
|
||
Должно быть выполнено тестирование со следующими вариантами статуса сертификата ключа проверки ЭП:
|
||
|
||
1.1. Действительный сертификат компонента ervu-sign-module, изготовленный Удостоверяющим центром – запрос в ЕСИА должен быть успешно отправлен:
|
||
|
||
1.1.1. Установить сертификат в систему, согласно "Инструкции по установке".
|
||
|
||
1.1.2. Открыть приложение - запрос в ЕСИА должен быть успешно отправлен.
|
||
|
||
1.2. Проверка статуса сертификата не может быть выполнена, так как в Системе отсутствует CRL, соответствующий Удостоверяющему центру – запрос в ЕСИА не должен быть отправлен:
|
||
|
||
1.2.1. Удалить CRL, соответствующий Удостоверяющему центру, изготовившему сертификат компонента ervu-sign-module:
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -crl -store ucache -all
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -crl -store uca -all
|
||
|
||
1.2.2. Отключить доступ к УЦ.
|
||
|
||
1.2.3. Перезапустить сервис подписания ervu-sign-module, чтобы сбросить кэш.
|
||
|
||
1.2.4. Открыть приложение - запрос в ЕСИА не должен быть отправлен. Пользователю отобразится ошибка.
|
||
|
||
В логах ЛК РП должно быть следующее:
|
||
Caused by: java.lang.RuntimeException: 500 500 Internal Server Error
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.errorHandler(EsiaAuthService.java:351) ~[classes/:1.10.0-SNAPSHOT]
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.signMap(EsiaAuthService.java:340) ~[classes/:1.10.0-SNAPSHOT]
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.generateAuthCodeUrl(EsiaAuthService.java:101) ~[classes/:1.10.0-SNAPSHOT]
|
||
|
||
В логах ervu-sign-module должно быть следующее:
|
||
WARN: The certificate is not trusted. CERT_TRUST_STATUS: '0x00000040'
|
||
ERROR: get_cert_chain exit with error
|
||
ERROR: sign_hash_data exit with error. Last error code: 0x00000000
|
||
ERROR: cryptopro_sign exit with error
|
||
ERROR: sign_content exit with error
|
||
ERROR: response status: '500 Internal Server Error'
|
||
|
||
CERT_TRUST_STATUS = 0x00000040 (CERT_TRUST_REVOCATION_STATUS_UNKNOWN) означает, что статус отзыва сертификата или одного из сертификатов в цепочке сертификатов неизвестен.
|
||
|
||
1.2.5. Восстановить доступ к УЦ. Все CRL будут автоматически установлены при следующих запросах на подпись.
|
||
|
||
1.3. Сертификат действителен, но выдан УЦ, корневой сертификат которого не установлен в системе – запрос в ЕСИА не должен быть отправлен:
|
||
|
||
1.3.1. Получить цепочку сертификатов и SHA1 отпечаток корневого сертификата УЦ:
|
||
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint <sign_cert_thumbprint> -chain
|
||
где <sign_cert_thumbprint> - это SHA1 отпечаток сертификата компонента ervu-sign-module.
|
||
|
||
Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток".
|
||
|
||
1.3.2. Из Системы удалить корневой сертификат Удостоверяющего центра, выполнив команду от имени root:
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -thumbprint <root_cert_thumbprint>
|
||
где <root_cert_thumbprint> - это SHA1 отпечаток корневого сертификата УЦ, полученный на предыдущем шаге.
|
||
|
||
1.3.3. Открыть приложение - запрос в ЕСИА не должен быть отправлен. Пользователю отобразится ошибка.
|
||
|
||
В логах ЛК РП должно быть следующее:
|
||
Caused by: java.lang.RuntimeException: 500 500 Internal Server Error
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.errorHandler(EsiaAuthService.java:351) ~[classes/:1.10.0-SNAPSHOT]
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.signMap(EsiaAuthService.java:340) ~[classes/:1.10.0-SNAPSHOT]
|
||
at ru.micord.ervu.security.esia.service.EsiaAuthService.generateAuthCodeUrl(EsiaAuthService.java:101) ~[classes/:1.10.0-SNAPSHOT]
|
||
|
||
В логах ervu-sign-module должно быть следующее:
|
||
|
||
WARN: The certificate is not trusted. CERT_TRUST_STATUS: '0x00000020'
|
||
ERROR: get_cert_chain exit with error
|
||
ERROR: sign_hash_data exit with error. Last error code: 0x80092004
|
||
ERROR: cryptopro_sign exit with error
|
||
ERROR: sign_content exit with error
|
||
ERROR: response status: '500 Internal Server Error'
|
||
|
||
CERT_TRUST_STATUS = 0x00000020 (CERT_TRUST_IS_UNTRUSTED_ROOT) означает, что сертификат или цепочка сертификатов основана на ненадежном корневом сертификате.
|
||
|
||
1.3.4. Восстановить все корневые сертификаты, которые были удалены, выполнив для каждого команду от имени root:
|
||
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <root_cert>.crt
|
||
|
||
2. Проверка ЭП маркера доступа, полученного от ЕСИА.
|
||
|
||
Должно быть выполнено тестирование со следующими вариантами статуса сертификата ключа проверки ЭП:
|
||
|
||
2.1. Действительный сертификат ЕСИА – ответ ЕСИА должен быть принят:
|
||
|
||
2.1.1. Установить сертификат ЕСИА в систему, согласно "Инструкции по установке".
|
||
|
||
2.1.2. Выполнить вход через ЕСИА - ответ ЕСИА должен быть принят.
|
||
|
||
2.2. Проверка статуса сертификата не может быть выполнена, так как в Системе отсутствует CRL, соответствующий Удостоверяющему центру, изготовившему сертификат ЕСИА - ответ ЕСИА не должен быть принят:
|
||
|
||
2.2.1. Удалить CRL, соответствующий Удостоверяющему центру, изготовившему сертификат ЕСИА:
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -crl -store ucache
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -crl -store uCA
|
||
|
||
2.2.2. Отключить доступ к УЦ.
|
||
|
||
2.2.3. Перезапустить сервис подписания ervu-sign-module, чтобы сбросить кэш.
|
||
|
||
2.2.4. Выполнить вход через ЕСИА - ответ ЕСИА должен быть отклонен с ошибкой.
|
||
|
||
2.2.5. Восстановить доступ к УЦ. Все CRL будут автоматически установлены при следующих запросах на проверку ЭП маркера доступа, полученного от ЕСИА.
|
||
|
||
2.3. Сертификат действителен, но выдан УЦ, корневой сертификат которого не установлен в системе – ответ ЕСИА не должен быть принят:
|
||
|
||
2.3.1. Получить цепочку сертификатов и SHA1 отпечаток корневого сертификата УЦ:
|
||
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint <esia_cert_thumbprint> -chain
|
||
где <esia_cert_thumbprint> - это SHA1 отпечаток сертификата ЕСИА.
|
||
|
||
Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток".
|
||
|
||
2.3.2. Из Системы удалить корневой сертификат Удостоверяющего центра, выполнив команду от имени root:
|
||
/opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -thumbprint <root_esia_cert_thumbprint>
|
||
где <root_esia_cert_thumbprint> - это SHA1 отпечаток корневой сертификата УЦ, полученный на предыдущем шаге.
|
||
|
||
2.3.3. Выполнить вход через ЕСИА - обработка ответа от ЕСИА должна завершиться ошибкой.
|
||
|
||
2.3.4. Восстановить все корневые сертификаты, которые были удалены, выполнив для каждого команду от имени root:
|
||
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <root_esia_cert>.crt |