diff --git a/docs/ПМИ (прод ЕСИА + mnsv126).txt b/docs/ПМИ (прод ЕСИА + mnsv126).txt new file mode 100644 index 0000000..eb7853b --- /dev/null +++ b/docs/ПМИ (прод ЕСИА + mnsv126).txt @@ -0,0 +1,76 @@ +Подписание (в автоматическом режиме) запросов в ЕСИА ключом ЭП. + +Должно быть выполнено тестирование со следующими вариантами статуса сертификата ключа проверки ЭП: + +1. Действительный сертификат компонента ervu-sign-module, изготовленный Удостоверяющим центром – запрос в ЕСИА должен быть успешно отправлен: + + 1.1. Установить сертификат в систему, согласно "Инструкции по установке". + + 1.2. Открыть приложение - запрос в ЕСИА должен быть успешно отправлен. + +2. Проверка статуса сертификата не может быть выполнена, так как в Системе отсутствует CRL, соответствующий Удостоверяющему центру – запрос в ЕСИА не должен быть отправлен: + + 2.1. Удалить CRL, соответствующий Удостоверяющему центру, изготовившему сертификат компонента ervu-sign-module, выполнив команду от имени ervu: + /opt/cprocsp/bin/amd64/certmgr -delete -crl -store ucache -dn uc_fk@roskazna.ru + /opt/cprocsp/bin/amd64/certmgr -delete -crl -store uca -dn uc_fk@roskazna.ru + + 2.2. Отключить доступ к УЦ (например, прописав в /etc/hosts недоступный ip-адрес для хоста УЦ, указанного в свойствах сертификата): + Пример /etc/hosts: + 127.0.0.1 crl.roskazna.ru + + 2.3. Перезапустить сервис подписания ervu-sign-module, чтобы сбросить кэш: + systemctl restart ervu-sign-module + + 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) означает, что статус отзыва сертификата или одного из сертификатов в цепочке сертификатов неизвестен. + + 2.5. Восстановить доступ к УЦ. Все CRL будут автоматически установлены при следующих запросах на подпись. + +3. Сертификат действителен, но выдан УЦ, корневой сертификат которого не установлен в системе – запрос в ЕСИА не должен быть отправлен: + + 3.1. Получить цепочку сертификатов и SHA1 отпечаток корневого сертификата УЦ, выполнив команду от имени ervu: + /opt/cprocsp/bin/amd64/certmgr -list -thumbprint 0f948ba2b4866bf92e77f768a01add655daa5748 -chain + + Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток" для одного из корневых сертификатов. + + 3.2. Из Системы удалить корневой сертификат Удостоверяющего центра, выполнив команду от имени root. Например, удалить сертификат Минцифры России, выполнив команду от имени root: + /opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -thumbprint 2f0cb09be3550ef17ec4f29c90abd18bfcaad63a + + 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) означает, что сертификат или цепочка сертификатов основана на ненадежном корневом сертификате. + + 3.4. Восстановить все корневые сертификаты, которые были удалены, выполнив для каждого команду от имени root. Для восстановления сертификата Минцифры России выполните команду от имени root: + /opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file guc2022.crt + + Сертификат Минцифры России доступен по ссылке: http://reestr-pki.ru/cdp/guc2022.crt diff --git a/docs/ПМИ (тест ЕСИА + mnsv93).txt b/docs/ПМИ (тест ЕСИА + mnsv93).txt new file mode 100644 index 0000000..916d6f7 --- /dev/null +++ b/docs/ПМИ (тест ЕСИА + mnsv93).txt @@ -0,0 +1,74 @@ +Подписание (в автоматическом режиме) запросов в ЕСИА ключом ЭП. + +Должно быть выполнено тестирование со следующими вариантами статуса сертификата ключа проверки ЭП: + +1. Действительный сертификат компонента ervu-sign-module, изготовленный Удостоверяющим центром – запрос в ЕСИА должен быть успешно отправлен: + + 1.1. Установить сертификат в систему, согласно "Инструкции по установке". + + 1.2. Открыть приложение - запрос в ЕСИА должен быть успешно отправлен. + +2. Проверка статуса сертификата не может быть выполнена, так как в Системе отсутствует CRL, соответствующий Удостоверяющему центру – запрос в ЕСИА не должен быть отправлен: + + 2.1. Удалить CRL, соответствующий Удостоверяющему центру, изготовившему сертификат компонента ervu-sign-module: + sudo -u ervu /opt/cprocsp/bin/amd64/certmgr -delete -crl -store ucache -all + sudo -u ervu /opt/cprocsp/bin/amd64/certmgr -delete -crl -store uca -all + + 2.2. Отключить доступ к УЦ (например, прописав в /etc/hosts недоступный ip-адрес для хоста УЦ, указанного в свойствах сертификата): + Пример /etc/hosts: + 127.0.0.1 testgost2012.cryptopro.ru + + 2.3. Перезапустить сервис подписания ervu-sign-module, чтобы сбросить кэш: + sudo systemctl restart ervu-sign-module + + 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) означает, что статус отзыва сертификата или одного из сертификатов в цепочке сертификатов неизвестен. + + 2.5. Восстановить доступ к УЦ. Все CRL будут автоматически установлены при следующих запросах на подпись. + +3. Сертификат действителен, но выдан УЦ, корневой сертификат которого не установлен в системе – запрос в ЕСИА не должен быть отправлен: + + 3.1. Получить цепочку сертификатов и SHA1 отпечаток корневого сертификата УЦ: + sudo -u ervu /opt/cprocsp/bin/amd64/certmgr -list -thumbprint 1f5ab193354a7701e4964711163c6b46d4a361e0 -chain + + Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток" для одного из корневых сертификатов. + + 3.2. Из Системы удалить корневой сертификат Удостоверяющего центра. Например, удалить сертификат Тестового УЦ ООО Крипто-Про, выполнив команду: + sudo /opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -thumbprint 41dcbff2ae102339bcedd0d5100ffb8e6018353d + + 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) означает, что сертификат или цепочка сертификатов основана на ненадежном корневом сертификате. + + 3.4. Восстановить все корневые сертификаты, которые были удалены, выполнив для каждого команду от имени root. Для восстановления сертификата Тестового УЦ ООО Крипто-Про выполните команду: + sudo /opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file ~/work/ervu/certs/lkrp-mnsv93/testgost2012\(10\).crt diff --git a/docs/ПМИ.txt b/docs/ПМИ.txt new file mode 100644 index 0000000..414474a --- /dev/null +++ b/docs/ПМИ.txt @@ -0,0 +1,114 @@ +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 -chain + где - это SHA1 отпечаток сертификата компонента ervu-sign-module. + + Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток". + + 1.3.2. Из Системы удалить корневой сертификат Удостоверяющего центра, выполнив команду от имени root: + /opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -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 .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 -chain + где - это SHA1 отпечаток сертификата ЕСИА. + + Результатом команды будет цепочка сертификатов с перечнем их свойств, из которого необходимо получить значение поля "SHA1 отпечаток". + + 2.3.2. Из Системы удалить корневой сертификат Удостоверяющего центра, выполнив команду от имени root: + /opt/cprocsp/bin/amd64/certmgr -delete -store mRoot -thumbprint + где - это SHA1 отпечаток корневой сертификата УЦ, полученный на предыдущем шаге. + + 2.3.3. Выполнить вход через ЕСИА - обработка ответа от ЕСИА должна завершиться ошибкой. + + 2.3.4. Восстановить все корневые сертификаты, которые были удалены, выполнив для каждого команду от имени root: + /opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file .crt \ No newline at end of file