Русский
Русский
English
Статистика
Реклама

Госуслуги

Что делать, если на гос.портале с вас собирают персональные данные и хотят согласия на рассылку рекламных сообщений?

26.06.2020 20:05:42 | Автор: admin
Навеяло обсуждениями к посту Как активный гражданин приучает людей к фишингу.
Потом, когда пришло не только жене, но и мне полез смотреть откуда и неожиданно узнал что рекламу теперь может слать и mos.ru
Совсем потеряли совесть
Давно уже реализуемая практика. Стоит зарегистрироваться на портале. или оформить обращение Не важно на mos.ru, или прокуратуру с полицией, вам тут же начнутся звонки и сомнительные смс.)
Не хочется об этих всех службах думать плохо. Но повторные обращения и снова звонки и смс. Так что борьба с мошенничеством стоит под контролем. Мошенники сами себя не ловят.)
Точно. Сходил пару раз в МФЦ и просто шквал звонков с разной рекламой. Причем сплошняком роботы текст зачитывают.

Для тех, кого интересует судебная практика по вопросу сбора персональных данных пользователей на различных порталах государственных организаций, а так же при предоставлении всевозможных государственных услуг, прошу под кат:


Сохранил для себя на память, то понял, что нужно этой информацией поделиться.

Если кратко, то есть кассационное определение Верховного Суда РФ в пользу субъекта персональных данных по вопросу истребования согласия на обработку персональных данных при оказании государственных слуг.

Сама история тезисно:
1. Заявитель физическое лицо обратился за госуслугой в госорган субъекта РФ.
2. По имеющемуся административному регламенту, вместе с заявлением на оказание госуслуги, заявитель должен был давать свое согласие на обработку персональных данных.
3. Однако Заявитель отказался дать свое согласие, в частности, опасался передачи сведений третьим лицам.
4. Заявителю в предоставлении госуслуги отказали.
5. Заявитель подал в суд на государственный орган.
6. Первая инстанция встала на сторону Заявителя.
7. Апелляция встала на сторону госоргана.
8. ВС РФ встал на сторону Заявителя.

Из определения ВС РФ по сути:
  • Согласие на предоставление персональных данных носит добровольный характер
  • Все данные для оказания госуслуги были указаны в заявлении, и по ФЗ от 27.07.2010 N 210-ФЗ у госоранов нет прав требовать ненужные для оказания госуслуги согласия и документы.


Юридически точные формулировки в самом определении:
ВЕРХОВНЙ СУД РОССИЙСКОЙ ФЕДЕРАЦИИ
КАССАЦИОННОЕ ОПРЕДЕЛЕНИЕ
от 22 января 2020 г. N 5-КА19-56
Подробнее..

Что делать, если на гос.портале с вас собирают персональные данные и хотят согласие на рассылку рекламных сообщений?

26.06.2020 22:04:22 | Автор: admin
Навеяло обсуждениями к посту Как активный гражданин приучает людей к фишингу.
Потом, когда пришло не только жене, но и мне полез смотреть откуда и неожиданно узнал что рекламу теперь может слать и mos.ru
Совсем потеряли совесть
Давно уже реализуемая практика. Стоит зарегистрироваться на портале. или оформить обращение Не важно на mos.ru, или прокуратуру с полицией, вам тут же начнутся звонки и сомнительные смс.)
Не хочется об этих всех службах думать плохо. Но повторные обращения и снова звонки и смс. Так что борьба с мошенничеством стоит под контролем. Мошенники сами себя не ловят.)
Точно. Сходил пару раз в МФЦ и просто шквал звонков с разной рекламой. Причем сплошняком роботы текст зачитывают.

Для тех, кого интересует судебная практика по вопросу сбора персональных данных пользователей на различных порталах государственных организаций, а так же при предоставлении всевозможных государственных услуг, прошу под кат:


Сохранил для себя на память, то понял, что нужно этой информацией поделиться.

Если кратко, то есть кассационное определение Верховного Суда РФ в пользу субъекта персональных данных по вопросу истребования согласия на обработку персональных данных при оказании государственных слуг.

Сама история тезисно:
1. Заявитель физическое лицо обратился за госуслугой в госорган субъекта РФ.
2. По имеющемуся административному регламенту, вместе с заявлением на оказание госуслуги, заявитель должен был давать свое согласие на обработку персональных данных.
3. Однако Заявитель отказался дать свое согласие, в частности, опасался передачи сведений третьим лицам.
4. Заявителю в предоставлении госуслуги отказали.
5. Заявитель подал в суд на государственный орган.
6. Первая инстанция встала на сторону Заявителя.
7. Апелляция встала на сторону госоргана.
8. ВС РФ встал на сторону Заявителя.

Из определения ВС РФ по сути:
  • Согласие на предоставление персональных данных носит добровольный характер
  • Все данные для оказания госуслуги были указаны в заявлении, и по ФЗ от 27.07.2010 N 210-ФЗ у госоранов нет прав требовать ненужные для оказания госуслуги согласия и документы.


Юридически точные формулировки в самом определении:
ВЕРХОВНЙ СУД РОССИЙСКОЙ ФЕДЕРАЦИИ
КАССАЦИОННОЕ ОПРЕДЕЛЕНИЕ
от 22 января 2020 г. N 5-КА19-56
Подробнее..

Скажи мне свой адрес и я скажу как зовут твоего соседа, или как дешево и быстро проверять любой объект недвижимости

04.05.2021 00:05:30 | Автор: admin

Все, что понадобится подтвержденная учетная запись на Госуслугах и небольшая плата за сведения

СМИ время от времени сотрясают скандалы связанные с тем, что у того или иного государственного служащего находят дома, квартиры, участки и другую недвижимость. Их сменяют другие скандалы о том, что имя чиновника в государственных реестрах зашифровывается.

Как удается узнавать собственников недвижимости? Неужели любой может узнать кто владеет тем или иным участком, домом или квартирой?

Да, данные о собственниках недвижимости открыты всем желающим. В этом посте Вы узнаете как получить данные о настоящем и предыдущем собственнике, залогах, арестах на любой объект недвижимости в России, будь то соседние квартиры по лестничной клетке или земельный участок на Камчатке.
Все что Вам нужно для этого - подтвержденная учетная запись на госуслугах. С помощью нее заходим на официальный сайт Росреестра https://lk.rosreestr.ru

Сколько это стоит?

Официальная плата Росреестра от 1 до 5 рублей за одну выписку. Доступ к выпискам оплачивается по УИН на сайте Росреестра пакетами от 100 шт. до 500 000 шт.

Как узнать собственника недвижимости?

На сайте Росреестра заходим в раздел запрос к ФГИС ЕГРН https://rosreestr.gov.ru/wps/portal/p/cc_present/ir_egrn

В окне вводим код доступа (его получаем в личном кабинете Росреестра, но об этом позже) и попадаем вот на такую страницу:

Нажимаем раздел Поиск объектов недвижимости и видим вот это:

Выбираем мышкой объект недвижимости, заполняем капчу и в открывшемся окне видим две кнопки - "Отправить запрос" и "Подписать и отправить запрос". Нажимаем "Отправить запрос". Выписки можно заказывать раз в пять минут.

Форма содержит рядом еще одну кнопку - "Подписать и отправить запрос". Ее лучше не нажимать - она нужна, если Вы хотите получить информация по самому себе и если Вы ее нажмете - сайт потребует от Вас электронную подпись. Кроме заказа самой выписки - можно здесь же получить выписку по истории собственников.

Кроме заказа самой выписки - можно здесь же получить выписку по истории собственников.

Кстати искать можно "по маске", то есть если указать только номер дома без указания номера квартиры - Росреестр покажет список всех квартир в доме и предложит выбрать любую для заказа выписки.

Получение выписок осуществляется в разделе Мои заявки. Готовность выписки определяется статусом завершена и дискетой в графе скачать. Для скачивания нужно нажать на дискету.

Скачанная выписка представляет собой архив с названием Response-80-97060661.zip, где 80-97060661 номер заявки. Внутри архива находится два файла архив с выпиской и электронная подпись Росреестра.

Внутри архива находится файл XML, который следует открывать с помощью Internet explorer. Результат должен отображаться в виде таблицы (пример ниже).

В выписке видно описание объекта, ФИО собственника или название организации (если организация собственник), а также кадастровый номер, все зарегистрированные ипотеки, залоги, обременения, аресты, запреты, охранные зоны и план объекта(не во всех выписках присутствует).

И что с этим делать?

Выписка предоставляется в электронном виде, но с электронной подписью Росреестра. Такие выписки можно направить нотариусу и получить от нотариуса заверенную нотариально выписку, содержание, которой соответствует электронной (правда это удовольствие недешевое - если заходите иметь на руках легальный бумажный документ, нотариусу придется заплатить 150-200 руб. за страницу). Такие документы принимаются государственными органами наравне с выписками, полученными через МФЦ.

А где взять код доступа в этот раздел Росреестра?

Код находится в личном кабинете гражданина на сайте Росреестра в разделе "Мои ключи". Ключ предоставляется бесплатно.

Перед заказом выписок нужно оплатить Росреестру пакет предоплаченных выписок. Самый дешевый пакет из 100 выписок стоит 460 руб. После оплаты заказ выписок доступен на следующий день. Для заказа пакета перейдите в раздел "Мой баланс", нажимте на кнопку "Предоставление сведений из ЕГРН" и нажмите кнопку "Внести оплату". Далее выбираете нужное количество выписок и Росреестр предложит варианты оплаты (онлайн или квитанция сбербанка)

Если Вас интересует собственник земельного участка, но Вы не знаете его адреса или кадастрового номера - то можно просто найти этот участок на Публичной кадастровой карте Росреестра и увидеть его кадастровый номер, который можно использовать для получения выписке по вышеуказанному алгоритму.

Но в отношении земельных участков следует проверять также наличие охранных зон (линий электропередач, подземных трубопроводов). В таких охранных зонах есть ограничения по строительству и использованию земельного участка. Если Вы пользуетесь сервисом для целей проверки участка проверьте на градостроительном плане земельного участка наличие санитарных охранных зон. Их не видно на карте Росреестра, но они имеют большое значение при разрешении строительства на таком участке.

Если у Вас остались вопросы - Вы можете задавать их в комментариях и прислать по почте по адресу p_slizky@mail.ru

Подробнее..

Как реализовать интеграцию с ЕСИА на Java без лишних проблем

04.12.2020 10:17:32 | Автор: admin
Долгое время основным способом идентификации граждан был обычный паспорт. Ситуация изменилась, когда в 2011 году по заказу Минкомсвязи была внедрена Единая система идентификации и аутентификации (ЕСИА), она позволила распознавать личность человека и получать о ней данные в режиме онлайн.

Благодаря внедрению ЕСИА государственные и коммерческие организации, разработчики и владельцы онлайн-сервисов получили возможность ускорить и сделать более безопасными операции, связанные с вводом и верификацией пользовательских данных. Русфинанс Банк также решил использовать потенциал системы и при доработке сервиса по оформлению кредита онлайн (банк специализируется на автокредитовании) реализовал интеграцию с платформой.

Сделать это оказалось не так просто. Нужно было выполнить ряд требований и процедур, решить технические трудности.

В данной статье мы постараемся рассказать про основные моменты и методические указания, которые важно знать тем, кто хочет самостоятельно реализовать интеграцию с ЕСИА, а также приведем фрагменты кода на языке Java, которые помогут преодолеть трудности при разработке (часть реализации опущена, но общая последовательность действий ясна).

Надеемся, наш опыт поможет Java-разработчикам (и не только) сэкономить массу времени при разработке и ознакомлении с методическими рекомендациями Минкомсвязи.



Зачем нам нужна интеграция с ЕСИА?


В связи с пандемией коронавируса количество офлайн сделок во многих направлениях кредитования начало сокращаться. Клиенты стали уходить в онлайн, и для нас было жизненно важно укрепить своё онлайн-присутствие на рынке автокредитования. В процессе доработки сервиса Автокредит (на Хабре уже есть статья про его разработку) мы решили сделать интерфейс заведения кредитных заявок на сайте банка максимально удобным и простым. Интеграция с ЕСИА стала ключевым моментом в решении этой задачи, поскольку позволила автоматически получить персональные данные клиента.



Для клиента такое решение также оказалось удобным, поскольку дало возможность использовать единый логин и пароль для регистрации и входа в сервис онлайн-одобрения заявок на приобретение автомобиля в кредит.

Кроме того, интеграция с ЕСИА позволила Русфинанс Банку:

  • сократить время заполнения онлайн-анкет;
  • уменьшить количество отказов пользователей при попытке заполнить большое количество полей вручную;
  • обеспечить поток более качественных, верифицированных клиентов.

Несмотря на то, что мы рассказываем об опыте нашего банка, информация может быть полезна не только финансовым организациям. Правительство рекомендует использовать платформу ЕСИА и для других видов онлайн-услуг (подробнее тут).

Что делать и как?


Сначала нам показалось, что в интеграции с ЕСИА нет ничего особенного с технической точки зрения стандартная задача, связанная с получением данных посредством REST API. Однако, при ближайшем рассмотрении стало понятно, что не всё так просто. Например, выяснилось, что у нас нет представления о том, как работать с сертификатами, необходимыми для подписи нескольких параметров. Пришлось тратить время и разбираться. Но обо всем по порядку.

Для начала важно было наметить план действий. Наш план включал следующие основные шаги:

  1. зарегистрироваться на технологическом портале ЕСИА;
  2. подать заявки на использование программных интерфейсов ЕСИА в тестовой и промышленной среде;
  3. самостоятельно разработать механизм взаимодействия с ЕСИА (в соответствии с действующим документом Методические рекомендации по использованию ЕСИА);
  4. протестировать работу механизма в тестовой и промышленной среде ЕСИА.

Обычно мы разрабатываем наши проекты на Java. Поэтому для программной реализации выбрали:

  • IntelliJ IDEA;
  • КриптоПро JCP (или КриптоПро Java CSP);
  • Java 8;
  • Apache HttpClient;
  • Lombok;
  • FasterXML/Jackson.

Получение URL для переадресации


Первый шаг это получение авторизационного кода. В нашем случае это делает отдельный сервис с переадресацией на страницу авторизации портала Госуслуг (расскажем об этом немного подробнее).

Сначала мы инициализируем переменные ESIA_AUTH_URL (адрес ЕСИА) и API_URL (адрес, на который происходит редирект в случае успешной авторизации). После этого создаем объект EsiaRequestParams, который содержит в своих полях параметры запроса к ЕСИА, и сформируем ссылку esiaAuthUri.

public Response loginByEsia() throws Exception {  final String ESIA_AUTH_URL = dao.getEsiaAuthUrl(); // Адрес ЕСИА  final String API_URL = dao.getApiUrl(); // Адрес, на который произойдет редирект с случае успешной авторизации  EsiaRequestParams requestDto = new EsiaRequestParams(API_URL);  URI esiaAuthUri = new URIBuilder(ESIA_AUTH_URL)          .addParameters(Arrays.asList(            new BasicNameValuePair(RequestEnum.CLIENT_ID.getParam(), requestDto.getClientId()),            new BasicNameValuePair(RequestEnum.SCOPE.getParam(), requestDto.getScope()),            new BasicNameValuePair(RequestEnum.RESPONSE_TYPE.getParam(), requestDto.getResponseType()),            new BasicNameValuePair(RequestEnum.STATE.getParam(), requestDto.getState()),            new BasicNameValuePair(RequestEnum.TIMESTAMP.getParam(), requestDto.getTimestamp()),            new BasicNameValuePair(RequestEnum.ACCESS_TYPE.getParam(), requestDto.getAccessType()),            new BasicNameValuePair(RequestEnum.REDIRECT_URI.getParam(), requestDto.getRedirectUri()),            new BasicNameValuePair(RequestEnum.CLIENT_SECRET.getParam(), requestDto.getClientSecret())          ))          .build();  return Response.temporaryRedirect(esiaAuthUri).build();}

Для наглядности покажем, как может выглядеть класс EsiaRequestParams:

public class EsiaRequestParams {  String clientId;  String scope;  String responseType;  String state;  String timestamp;  String accessType;  String redirectUri;  String clientSecret;  String code;  String error;  String grantType;  String tokenType;  public EsiaRequestParams(String apiUrl) throws Exception {    this.clientId = CLIENT_ID;    this.scope = Arrays.stream(ScopeEnum.values())            .map(ScopeEnum::getName)            .collect(Collectors.joining(" "));    responseType = RESPONSE_TYPE;    state = EsiaUtil.getState();    timestamp = EsiaUtil.getUrlTimestamp();    accessType = ACCESS_TYPE;    redirectUri = apiUrl + RESOURCE_URL + "/" + AUTH_REQUEST_ESIA;    clientSecret = EsiaUtil.generateClientSecret(String.join("", scope, timestamp, clientId, state));    grantType = GRANT_TYPE;    tokenType = TOKEN_TYPE;  }}

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

Каждый запрос к ЕСИА имеет параметр client_secret, который представляет собой откреплённую электронную подпись в формате PKCS7 (Public Key Cryptography Standard). В нашем случае для подписи используется сертификат, который был получен удостоверяющим центром перед началом работ по интеграции с ЕСИА. Как работать с хранилищем ключей хорошо описано в этом цикле статей.

Для примера покажем, как выглядит хранилище ключей, предоставляемое компанией КриптоПро:



Вызов приватного и публичного ключей в этом случае будет выглядеть так:

KeyStore keyStore = KeyStore.getInstance("HDImageStore"); // Создание экземпляра хранилищаkeyStore.load(null, null);PrivateKey privateKey = (PrivateKey) keyStore.getKey(esiaKeyStoreParams.getName(), esiaKeyStoreParams.getValue().toCharArray()); // Получение приватного ключаX509Certificate certificate = (X509Certificate) keyStore.getCertificate(esiaKeyStoreParams.getName()); // Получение сертификата, он же  открытый ключ.

Где JCP.HD_STORE_NAME имя хранилища в КриптоПро, esiaKeyStoreParams.getName() имя контейнера и esiaKeyStoreParams.getValue().toCharArray() пароль контейнера.
В нашем случае не нужно загружать данные в хранилище методом load(), так как ключи уже будут там при указании имени этого хранилища.

Здесь важно помнить, что получения подписи в виде

final Signature signature = Signature.getInstance(SIGN_ALGORITHM, PROVIDER_NAME);signature.initSign(privateKey);signature.update(data);final byte[] sign = signature.sign();

нам недостаточно, так как ЕСИА требует откреплённую подпись формата PKCS7. Поэтому следует создать подпись формата PKCS7.

Пример нашего метода, возвращающего откреплённую подпись, выглядит следующим образом:

public String generateClientSecret(String rawClientSecret) throws Exception {    if (this.localCertificate == null || this.esiaCertificate == null) throw new RuntimeException("Signature creation is unavailable");    return CMS.cmsSign(rawClientSecret.getBytes(), localPrivateKey, localCertificate, true);  }

Здесь мы проверяем наличие нашего открытого ключа и открытого ключа ЕСИА. Так как метод cmsSign() может содержать конфиденциальную информацию, мы не будем его раскрывать.

Укажем лишь некоторые детали:

  • rawClientSecret.getBytes() байтовый массив scope, timestamp, clientId и state;
  • localPrivateKey приватный ключ из контейнера;
  • localCertificate публичный ключ из контейнера;
  • true булево значение параметра подписи открепленная или нет.

Пример создания подписи можно найти в java-библиотеке КриптоПро, там стандарт PKCS7 называется CMS. А также в руководстве программиста, которое лежит вместе с исходниками скаченной версии КриптоПро.

Получение токена


Следующий шаг получение маркера доступа (он же токен) в обмен на авторизационный код, который был получен в качестве параметра при успешной авторизации пользователя на портале Госуслуг.

Для получения каких-либо данных в ЕСИА нужно получить токен доступа. Для этого формируем запрос в ЕСИА. Основные поля запроса тут формируются аналогичным образом, в коде получается примерно следующее:

URI getTokenUri = new URIBuilder(ESIA_TOKEN_API_URL)        .addParameters(Arrays.asList(          new BasicNameValuePair(RequestEnum.CLIENT_ID.getParam(), requestDto.getClientId()),          new BasicNameValuePair(RequestEnum.CODE.getParam(), code),          new BasicNameValuePair(RequestEnum.GRANT_TYPE.getParam(), requestDto.getGrantType()),          new BasicNameValuePair(RequestEnum.CLIENT_SECRET.getParam(), requestDto.getClientSecret()),          new BasicNameValuePair(RequestEnum.STATE.getParam(), requestDto.getState()),          new BasicNameValuePair(RequestEnum.REDIRECT_URI.getParam(), requestDto.getRedirectUri()),          new BasicNameValuePair(RequestEnum.SCOPE.getParam(), requestDto.getScope()),          new BasicNameValuePair(RequestEnum.TIMESTAMP.getParam(), requestDto.getTimestamp()),          new BasicNameValuePair(RequestEnum.TOKEN_TYPE.getParam(), requestDto.getTokenType())        ))        .build();HttpUriRequest getTokenPostRequest = RequestBuilder.post()        .setUri(getTokenUri)        .setHeader(HttpHeaders.CONTENT_TYPE, "application/x-www-form-urlencoded")        .build();

Получив ответ, распарсим его и получим токен:

try (CloseableHttpResponse response = httpClient.execute(getTokenPostRequest)) {  HttpEntity tokenEntity = response.getEntity();  String tokenEntityString = EntityUtils.toString(tokenEntity);  tokenResponseDto = extractEsiaGetResponseTokenDto(tokenEntityString);}

Токен представляет собой строку, состоящую из трёх частей и разделённых точками: HEADER.PAYLOAD.SIGNATURE, где:

  • HEADER это заголовок, имеющий в себе свойства токена, в том числе алгоритм подписи;
  • PAYLOAD это информация о токене и субъекте, которую запрашиваем у Госуслуг;
  • Signature это подпись HEADER.PAYLOAD.

Валидация токена


Для того, чтобы убедиться, что мы получили ответ именно от Госуслуг, необходимо провалидировать токен, указав путь к сертификату (открытому ключу), который можно скачать с сайта Госуслуг. Передав в метод isEsiaSignatureValid() полученную строку (data) и подпись (dataSignature), можно получить результат валидации в виде булева значения.

public static boolean isEsiaSignatureValid(String data, String dataSignature) throws Exception {  InputStream inputStream = EsiaUtil.class.getClassLoader().getResourceAsStream(CERTIFICATE); // Публичный ключ ЕСИА, представленный как поток  CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); // Создание объекта фабрики с указанием стандарта открытого ключа X.509  X509Certificate certificate = (X509Certificate) certFactory.generateCertificate(inputStream);  Signature signature = Signature.getInstance(certificate.getSigAlgName(), new JCP()); // Создание экземпляра класса Signature с указанием алгоритма подписи и провайдера JCP от КриптоПро  signature.initVerify(certificate.getPublicKey()); // Инициализация открытого ключа для верификации  signature.update(data.getBytes()); // Загрузка байтового массива строки, которую нужно верифицировать   return signature.verify(Base64.getUrlDecoder().decode(dataSignature));}

В соответствии с методическими указаниями необходимо проверять срок действия маркера. Если срок действия истек, то нужно создать новую ссылку с дополнительными параметрами и сделать запрос с помощью http-клиента:

URI refreshTokenUri = new URIBuilder(ESIA_TOKEN_API_URL)        .addParameters(Arrays.asList(                new BasicNameValuePair(RequestEnum.CLIENT_ID.getParam(), requestDto.getClientId()),                new BasicNameValuePair(RequestEnum.REFRESH_TOKEN.getParam(), tokenResponseDto.getRefreshToken()),                new BasicNameValuePair(RequestEnum.CODE.getParam(), code),                new BasicNameValuePair(RequestEnum.GRANT_TYPE.getParam(), EsiaConstants.REFRESH_GRANT_TYPE),                new BasicNameValuePair(RequestEnum.STATE.getParam(), requestDto.getState()),                new BasicNameValuePair(RequestEnum.SCOPE.getParam(), requestDto.getScope()),                new BasicNameValuePair(RequestEnum.TIMESTAMP.getParam(), requestDto.getTimestamp()),                new BasicNameValuePair(RequestEnum.TOKEN_TYPE.getParam(), requestDto.getTokenType()),                new BasicNameValuePair(RequestEnum.CLIENT_SECRET.getParam(), requestDto.getClientSecret()),                new BasicNameValuePair(RequestEnum.REDIRECT_URI.getParam(), requestDto.getRedirectUri())        ))        .build();

Получение данных пользователя


В нашем случае необходимо получить ФИО, дату рождения, паспортные данные и контакты.
Используем функциональный интерфейс, который поможет получать данные пользователя:

Function<String, String> esiaPersonDataFetcher = (fetchingUri) -> {  try {    URI getDataUri = new URIBuilder(fetchingUri).build();    HttpGet dataHttpGet = new HttpGet(getDataUri);       dataHttpGet.addHeader("Authorization", requestDto.getTokenType() + " " + tokenResponseDto.getAccessToken());    try (CloseableHttpResponse dataResponse = httpClient.execute(dataHttpGet)) {      HttpEntity dataEntity = dataResponse.getEntity();      return EntityUtils.toString(dataEntity);    }  } catch (Exception e) {    throw new UndeclaredThrowableException(e);  }};

Получение данных пользователя:

String personDataEntityString = esiaPersonDataFetcher.apply(ESIA_REST_API_URL + "/prns/" + esiaAccountId);

Получение контактов выглядит уже не таким очевидным, как получение данных пользователя. Для начала следует получить список ссылок на контакты:

String contactsListEntityString = esiaPersonDataFetcher.apply(ESIA_REST_API_URL + "/prns/" + esiaAccountId + "/ctts");EsiaListDto esiaListDto = objectMapper.readValue(contactsListEntityString, EsiaListDto.class);

Десериализуем этот список и получим объект esiaListDto. Поля из методички ЕСИА могут различаться, поэтому стоит проверить опытным путем.

Далее необходимо перейти по каждой ссылке из списка, чтобы получить каждый контакт пользователя. Выглядеть это будет следующим образом:

for (String contactUrl : esiaListDto.getElementUrls()) {  String contactEntityString = esiaPersonDataFetcher.apply(contactUrl);  EsiaContactDto esiaContactDto = objectMapper.readValue(contactEntityString, EsiaContactDto.class);}

С получением списка документов та же ситуация. Вначале получаем список ссылок на документы:

String documentsListEntityString = esiaPersonDataFetcher.apply(ESIA_REST_API_URL + "/prns/" + esiaAccountId + "/docs");

Затем десериализуем его:

EsiaListDto esiaDocumentsListDto = objectMapper.readValue(documentsListEntityString, EsiaListDto.class);Переходим по каждой ссылке и получаем документы:for (String documentUrl : esiaDocumentsListDto.getElementUrls()) {  String documentEntityString = esiaPersonDataFetcher.apply(documentUrl);  EsiaDocumentDto esiaDocumentDto = objectMapper.readValue(documentEntityString, EsiaDocumentDto.class);}

Что теперь делать со всеми этими данными?


Мы можем сделать парсинг данных и получать объекты с требуемыми полями. Здесь каждый разработчик может оформлять классы как ему необходимо, в соответствии с техническим заданием.

Пример получения объекта с необходимыми полями:

final ObjectMapper objectMapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);String personDataEntityString = esiaPersonDataFetcher.apply(ESIA_REST_API_URL + "/prns/" + esiaAccountId);EsiaPersonDto esiaPersonDto = objectMapper.readValue(personDataEntityString, EsiaPersonDto.class);

Заполняем объект esiaPersonDto необходимыми данными, например, контактами:

for (String contactUrl : esiaListDto.getElementUrls()) {  String contactEntityString = esiaPersonDataFetcher.apply(contactUrl);  EsiaContactDto esiaContactDto = objectMapper.readValue(contactEntityString, EsiaContactDto.class); // Десериализация контакта  if (esiaContactDto.getType() == null) continue;  switch (esiaContactDto.getType().toUpperCase()) {    case EsiaContactDto.MBT: // Если это номер мобильного телефона, то заполним поле mobilePhone      esiaPersonDto.setMobilePhone(esiaContactDto.getValue());      break;    case EsiaContactDto.EML: // Если это адрес электронной почты, то заполним поле email      esiaPersonDto.setEmail(esiaContactDto.getValue());  }}

Класс EsiaPersonDto выглядит следующим образом:

@Data@FieldNameConstants(prefix = "")public class EsiaPersonDto {  private String firstName;  private String lastName;  private String middleName;  private String birthDate;  private String birthPlace;  private Boolean trusted;  // тип учетной записи - подтверждена (true) / не подтверждена (false)  private String status;    // статус УЗ - Registered (зарегистрирована) /Deleted (удалена)  // Назначение полей непонятно, но они есть при запросе /prns/{oid}  private List<String> stateFacts;  private String citizenship;  private Long updatedOn;  private Boolean verifying;  @JsonProperty("rIdDoc")  private Integer documentId;  private Boolean containsUpCfmCode;  @JsonProperty("eTag")  private String tag;  // ----------------------------------------  private String mobilePhone;  private String email;  @javax.validation.constraints.Pattern(regexp = "(\\d{2})\\s(\\d{2})")  private String docSerial;  @javax.validation.constraints.Pattern(regexp = "(\\d{6})")  private String docNumber;  private String docIssueDate;  @javax.validation.constraints.Pattern(regexp = "([0-9]{3})\\-([0-9]{3})")  private String docDepartmentCode;  private String docDepartment;  @javax.validation.constraints.Pattern(regexp = "\\d{14}")  @JsonProperty("snils")  private String pensionFundCertificateNumber;  @javax.validation.constraints.Pattern(regexp = "\\d{12}")  @JsonProperty("inn")  private String taxPayerNumber;  @JsonIgnore  @javax.validation.constraints.Pattern(regexp = "\\d{2}")  private String taxPayerCertificateSeries;  @JsonIgnore  @javax.validation.constraints.Pattern(regexp = "\\d{10}")  private String taxPayerCertificateNumber;}

Работа по усовершенствованию сервиса будет продолжаться, ведь ЕСИА не стоит на месте.
Подробнее..

Госуслуги и запись на прием. Живая очередь?

26.04.2021 14:21:23 | Автор: admin

Вероятно вы сталкивались с ситуацией, когда необходимо записаться на прием, а свободных талонов нет. Статья о том, как удалось автоматизировать процесс ожидания на примере оформления загранпаспорта.

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

Решение довольно простое. Когда пользователь выбирает адрес на карте, отправляется запрос, который возвращает доступное время посещения. Он виден в консоле разработчика. Оттуда узнаем о URL и параметрах.

def send_post(cookies):    url = 'https://www.gosuslugi.ru/api/lk/v1/equeue/agg/slots'    headers = {'Content-type': 'application/json;charset=UTF-8', 'Accept':'application/json', 'Cookie':cookies}    payload = {'eserviceId':'','serviceId':[''],'organizationId':[''],'parentOrderId':'','serviceCode':'','attributes':[]}    return post(url, data=dumps(payload), headers=headers)

Возникает проблема. Чтобы получить успешный ответ, к запросу требуется добавить куки. Их можно скопировать из этого же запроса. Но они будут действовать лишь несколько часов. Поэтому при получении ошибки (401) проходим авторизацию и копируем новые куки, сохраняя их в файл. Когда обнаружим свободные места, откроем браузер на этой странице.

Для реализации понадобился Python, Selenium и планировщик заданий Windows. Таким образом, получаем следующий основной код:

from webbrowser import open as open_tabfrom selenium import webdriverfrom datetime import datetimefrom requests import postfrom json import dumpsfrom os import pathdef main():    response = send_post(read_cookies())    if response.status_code == 401:        write_cookies(get_cookies())        write_log('Ошибка 401. Обновлены куки.')        main()        return    elif response.status_code == 200:        length = len(response.json()['slots'])        if length > 0:            write_log('Есть мест: ' + length)            open_tab(TARGET_LINK, new=1)        else:             write_log('Нет мест')    else:        write_log('Ошибка {0}'.format(response.status_code))

Чтобы получить куки, с помощью Selenium переходим на страницу входа, находим поля для ввода и вставляем логин с паролем. На практике не удалось авторизоваться без оконного режима. Поэтому раз в несколько часов станет появляться окно браузера на пару секунд. Чтобы получить нужный набор кук, переходим на страницу, где выбирается адрес ведомства TARGET_LINK.

def get_cookies():    options = webdriver.ChromeOptions()    options.add_argument('--no-sandbox')    options.add_argument('--minimal')    driver = webdriver.Chrome(executable_path=DRIVER_FILE, options=options)    driver.get('https://esia.gosuslugi.ru/')    driver.implicitly_wait(7)    input_login = driver.find_element_by_id('login')    input_password = driver.find_element_by_id('password')    btn_enter = driver.find_element_by_id('loginByPwdButton')    input_login.send_keys(LOGIN)    input_password.send_keys(PASSWORD)    btn_enter.click()    driver.get(TARGET_LINK)    cookies = driver.get_cookies()    driver.close()    return cookies

Для запроса, куки форматируются в имя=значение;

raw_cookies = ''.join(['{}={}; '.format(i['name'], i['value']) for i in cookies])

Осталось настроить планировщик заданий Windows. Прямой запуск скрипта .py у меня не получился. Поэтому через .bat одна команда python "script.py". Да, при этом открывается окно консоли. Есть внешние программы, позволяющие запустить консоль скрытно.

В результате, на третий день и 240 запусков в районе 17 часов появилось свободное место для записи. Думаю, что можно пойти дальше и через последующие запросы сделать автозапись.

Подробнее..

Исправляем Госуслуги малой кровью добровольный редизайн мобильного приложения

15.03.2021 02:11:17 | Автор: admin

Допустим, создателям мобильного приложения не выделили отдельного дизайнера - бывает. Допустим, приложение версталось программистами без предположений о том, насколько Госуслуги огромны, и скорости роста их функций вширь.

Попытаемся исправить имеющийся результат без напряга - все предлагаемые изменения должны исполняться за смехотворное число человека-часов и не должны затрагивать архитектуру приложения.

Дисклеймер о Госуслугах

Я искренне горжусь, что этот сервис есть у нас в стране. Не сосчитать, сколько он уже спас мне часов и недель стояния в очередях, ожидания документов и времени, затрачиваемого на поиск организации, которая имеет право выдать очередную справку для другой организации.

На это дело явно было положено не мало сил - начиная от человека, который решился протолкнуть идею цифровизации, заканчивая всеми дизайнерами, инженерами и разработчиками, которые смогли договориться и выпустить на рынок очень объемный и рабочий продукт.

Вопросов к продукту много, но это все правки к готовому проекту, которые мы все так любим получать.

Дисклеймер об авторе

Я мобильный разработчик. К дизайну имею лишь косвенное отношение - использую макеты, предоставленные дизайнерами на проект, и стараюсь всегда подмечать, где стоит чуть больше учесть специфику мобильных устройств, где пользователю будет больно каждый раз.

В фигме решил наконец разобраться специально для этой статьи, просто чтобы визуализировать мысли. Так что качество исполнения подстать качеству мыслей)

Сейчас

Если кто-то не заходит в Госуслуги каждый день, то напоминаю, как они выглядят сейчас:

Исправляем главный экран

Чаще всего будем видеть главный экран. Он состоит из нескольких блоков, о которых стоит поговорить.

Четыре кнопки оплаты

У нас есть 4 кнопки оплаты - квитанции, штрафы, налоги, судебные задолженности. Действительно, в первую очередь мне хотелось бы знать, нет ли у меня долгов перед государством. Во вторую - хочу тут же иметь возможность долги оплатить.

Но у нас всего 4 кнопки - зачем горизонтальный скролл? Он прячет остальные элементы, только любопытный узнает о последних двух кнопках.

  • сделаем так, чтобы кнопки стало видно сразу

  • не будет вводить заблуждение пользователя - заменим иконку штрих-кода на QR-код, ведь именно его надо искать на квитанции

  • статус "Не найдено" - это ошибка, сервер не смог найти информацию, или у меня нет долгов? Заменим на "Отсутствуют"

  • если в какой-то категории у нас есть задолженность, то сразу отобразим количество штрафов и их общую сумму

Уведомления

Уведомления - новости, которые оповещают о событиях, касающихся лично нас. Новости хороши к обеду, но потом о них можно забыть. Никто не перечитывает три последних оповещения каждый раз, заходя в приложения.

Сделаем колокольчик, отображающих непрочитанные уведомления.

Услуги

Основная часть и смысл приложения - услуги (запись на посещения, получение справок, запрос информации и т.д).

Здесь видим грамотное решение - вынесены три функции, которыми чаще всего будет пользоваться человек, а все остальные спрятаны за кнопкой "все услуги".

Будем считать, что отображаемые услуги выбраны не случайно: или на основе общей статистики, или подстраиваются динамически под каждого пользователя. Но кнопку "все услуги" все-равно хочется сделать больше, а не как ссылку на новости.

Также уберем выбор региона на этом этапе. От выбора местоположения зависит функционирование только некоторых услуг - паспорт гражданина РФ он и во Владивостоке паспорт.

FAQ

На скидку в факе 13 разделов в среднем по 10 вопрос-ответ в каждом. И этот раздел действительно старались сделать удобным, когда он начал разрастаться - добавили ссылки, заголовки, свернули ответы.

Но мой жизненный опыт подсказывает мне, что в FAQ можно найти только информацию о пунктах доставки интернет-магазинов - все остальное там искать пустая трата времени. Возможно, Госуслуги исключение, но доверие к этому разделу потеряно безвозвратно.

Решение - заменяем все вопросы на умный поиск с подсказками. Умный - потому что неплохо было бы хранить синонимы и искать не только по точному совпадению. Это же не поисковик по всему интернету, на 130 вопросов можно такую систему.

При этом обязательно оставляем более надежные способы найти ответ - кликабельный номер и путь к чату. Надо отметить, что чат у Госуслуг работает хорошо - мне пару раз дали ссылку на раздел Госуслуг, который по-другому найти не получалось.

Новости

Сначала возникает желание выкорчевать этот блок и выругаться: "Кому нужны новости вашей структуры кроме вас самих?". Но через секунду решаешься их прочитать - оказывается, там много чего интересного.

Неплохие скидки по карте Мир, информация о скидках на оплату штрафов, ссылка на раздел для жалоб на ямы - я бы не узнал, что это есть на Госуслугах, если бы не эти уведомления. Так что у нас первый блок, который мы решительно оставляем без изменений.

Исправляем список услуг

А тут все коротко. На сайте так много услуг, что единственный способ предоставит к ним удобный доступ с мобильного устройства - действительно умный поиск.

Предлагаю выводить группы услуг, а в описание перечислять подгруппы. Сейчас почти так и есть, только не понимаю отрицания существования списков.

Итого

Главная цель статьи - показать, что потратив совсем немного времени можно качественно улучшить отличный продукт. Обидно, когда мощная начинка не раскрывается из-за непродуманного дизайна.

Думаю, люди, разрабатывающие этот продукт, были просто слишком увлечены качеством бекенда и исправятся в ближайших обновлениях.

На правах....

dendolg.ru - сайт-портфолио-визитка, контакты для сотрудничества

t.me/dolgopolovd - личный блог, в котором подмечаю хороший и высказываю идеи по поводу плохого промышленного и цифрового дизайна. а иногда размышляю о программировании и прочей философии

Подробнее..

Рутокен ЭЦП 2.0 3000, COVID-19, УЦ Росреестра и операции с Росреестом онлайн ver. 2.0

01.09.2020 16:17:46 | Автор: admin
Привет, хабровчане!

К написанию данной статьи меня подтолкнули сразу несколько вещей:
  1. Должок перед компанией Актив, которая любезно предоставила мне их новый крипто-токен Рутокен ЭЦП 2.0 модификации 3000. Nastya_d, тэгну вас, т.к. вы последняя, кто постил от лица компании
  2. COVID-19, который перевел работу Росреестра в режим только по предварительной записи с хронической невозможностью туда записаться
  3. Изменения в законодательстве, которые были приняты после череды прошлогодних скандалов, связанных с применением электронной подписи
  4. Обновление Росреестра по части проведения электронных сделок и подачи каких-либо иных электронных заявлений


Так что, наверное, так и пойдем. Кому что-то не интересно, можете переходить на интересный заголовок.

Рутокен ЭЦП 2.0 3000



Факты


Новый токен под старым брендом. Вроде какая-то добавка 3000 в конце и вообще не понятно о чем это. А между тем перед нами принципиально новый носитель ключевой информации. С классическим Рутокен ЭЦП 2.0 его объединяет пожалуй лишь то, что он может быть с ним совместим, и по прежнему на нём можно хранить неизвлекамые закрытые ключи, криптографические операции с которыми происходят прямо в контроллере девайса, а закрытые ключи никогда не покидают его пределов.

А в чем же разница? Пожалуй, отличия четыре:
  1. Это функциональный ключевой носитель (ФКН), работающий по протоколу (на самом деле метапротоколу) SESPAKE, что дает нам защиту канала между драйвером и контроллером от прослушивания
  2. Многократное ускорение при работе с токеном, на котором есть несколько ключей с сертификатами
  3. Невозможность работы в режиме ФКН через PKCS#11
  4. Отсутствие режима работы без КриптоПро


Давайте теперь по порядку.

ФКН с SESPAKE дает возможность защитить канал обмена между драйвером/криптопровайдером и контроллером хранилища. Раньше подобный перехват был возможен, и любой любитель Wireshark с установленным USBcap мог лицезреть открытые PIN-коды при работе с классическим Рутокен ЭЦП 2.0, которые транслируются в APDU командах контролера, что потенциально даёт вектор атаки по подслушиванию PIN'а и дальнейшему подписыванию всего и вся без взаимодействия с пользователем. И хотя формально закрытые ключи всё равно остаются неизвлекаемыми, это может перестать быть принципиальным моментом.

Ускорение. Уж не знаю как и почему, но если у вас было несколько сертификатов на одном токене Рутокен ЭЦП 2.0, то тормоза были обеспечены. Особенно при попытке софта перебрать все сертификаты или найти контейнер с нужным. Ваш покорный слуга хватал лично ситуации, когда в некоторых системах ЭДО дешифрация маленького документа занимала более минуты. Всё кончилось тем, что Тензор в своих плагинах даже запретил использование аппаратных токенов совместно с КриптоПро 5-й версии, чем вызвал много подозрений. Теперь всё не так, я даже не замечаю разницы между тем, когда на токене был один сертификат, и теперь, когда их четыре (Тензор при этом всё равно не работает с аппаратными ключами в версиях плагинов где-то с осени 2019 года).

Режим PKCS#11 это возможность использовать библиотеку производителя, которая реализует стандартное API PKCS#11 по работе с ним (напрямую без КриптоПровайдера). Под Windows применяется мало, т.к. Windows Crypto API является доминирующим способом. Под Linux похоже увы, если не брать гипотетическую возможность установить КриптоПро под Linux и использовать его. КриптоПро под Linux представляет собой по сути реализацию Windows Crypto API, то есть ни одна традиционная софтина под Linux это не поддерживала и не будет поддерживать. Скорее это возможность для разработчиков пилить госзаказ и разрабатывать соответствующие серверные продукты под Linux с возможность криптографии ГОСТ. О применении в Linux Desktop речи не идет. Тем не менее Рутокен поставляет свою библиотеку PKCS#11 для старого Рутокен ЭЦП 2.0 и мне даже удавалось как-то подружить её с плагином ГосУслуг для аутентификации по электронной подписи. С ФКН возможности такой, как я понимаю нет, но возможно компания Актив меня поправит.

Отсутствие режима работы без КриптоПро. Скорее всего это связано с предыдущим пунктом. Но на практике сложилась некоторая путаница при использовании Рутокен ЭЦП 2.0. Почему-то мало кто знает, что Рутокен ЭЦП 2.0 умеет прекрасно работать с КриптоПро 5-й версии. Возможно, из-за того, что он появился задолго до КриптоПро 5. В результате, различные участники рынка наработали кастомные решения, которые позволяют работать с Рутокен ЭЦП 2.0 без КриптоПро. Это приводило к достаточно серьезным трудностям в диагностике проблем на сайтах. Ты говоришь, что у тебя КриптоПро и Рутокен ЭЦП 2.0, а тебе говорят, что Рутокен ЭЦП 2.0 не работает через КриптоПро. С 3000-м альтернативы, похоже, никакой нет. Только КриптоПро 5. Хорошо это или плохо время покажет.

Картинки


Если вы используете КриптоПро 5-й версии, то поддержка идет из коробки. Отличия для пользователя минимальны. Создание ключевого контейнера:


В отличие от тупого носителя у вас теперь есть выбор в каком режиме вырабатывать ключевую пару. Верхний новый режим ФКН, внизу старый режим Рутокен ЭЦП 2.0 с поддержкой PKCS#11, посередине режим тупого токена, в котором всю работу делает криптопровайдер.

При создании первого контейнера в режиме ФКН КриптоПро попросит задать PUK-код и пароль:



В результате получим ключевую пару, которую можно посмотреть через Панель управления Рутокен:


Резюме


Рутокен ЭЦП 2.0 3000 стал для меня долгожданной заменой для ранее использованного функционального ключевого носителя из АПК КриптоПро Рутокен CSP 3.6, который умел только старые ГОСТы. Тем не менее, я очень расстраиваюсь, что для работы с этим всем добром приходится держать виртуалку с виндой. Было бы здорово, если бы Рутокен раскрыл описание своей реализации протокола SESPAKE. Думаю, что прикрутить стандартные линуксовые библиотеки для работы с этим токеном можно будет будет без особых проблем.

COVID-19 и РосРеестр


Пандемия нехорошим образом сказалась на возможности работы с РосРеестром. Не знаю как других регионах, но в Питере случилась прямо какая-то вакханалия. С одной стороны, МФЦ полностью перешли на работу по предварительной записи (сейчас вышли, но по услугам РосРеестра продолжают оставаться). С другой стороны, записаться на это стало возможным только в первые минуты начала дня после 9:00 и где-то на 2-3 недели вперед. СМИ сообщали, что риелторы бронировали всё под себя, а потом продавали свою очередь но так как запись была именная, то помимо покупки очереди приходилось ещё и оформлять доверку на такого дельца, потому что кроме него никто пойти по очереди не мог.

Альтернативой этому стали нотариусы, которые могут в электронном виде отправлять документы на регистрацию сделки в Росреестр, но они берут очень дорого за нотариальное удостоверение сделки. Другая альтернатива ДомКлик от Сбербанка: если покупатель покупает в ипотеку, то ДомКлик позволяет зарегистрировать всё электронно (даже с небольшой выгодой по процентной ставке).

Покупатель нашелся по ипотеке, и дружно решили оформляться через ДомКлик. Но не тут-то было. Недвижимость оказалась старой, и регистрация прав была осуществлена в 1995 году. Если вы регистрировали свои права до 31.01.1998, то нужно:
  • либо заранее внести заявление о регистрации ранее возникших прав (требует уплаты госпошлины)
  • либо такое заявление подать одновременно со сделкой, тогда это бесплатно


Однако ДомКлик такие заявления подавать не умеет. Нотариусы тоже за это не берутся по неизвестным мне причинам, которые я не выяснял. Сделка оказалась под угрозой, так как МФЦ предложил запись аж на 23 сентября.

И тут выхожу я весь в белом и говорю: А давайте сделаем это в электронном виде сами?

Изменения в законодательстве


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

После череды скандалов(раз, два, три), прокатившихся в 2019 году, связанных с регистрацией прав на недвижимость и создания ЮЛ с использованием электронной подписи, были приняты некоторые изменения в законе. Вкратце: теперь по дефолту использовать ЭП для сделок по недвижимости можно только в том случае, если сертификат ЭП выдан удостоверяющим центром Росреестра, а точнее его дочки ФГБУ Кадастровая палата. Вы можете этот дефолт отменить, явно указав, что хотите это делать с сертификатом любого УЦ. Однако, для этого вам необходимо подать заявление в Росреестр через МФЦ, а для этого предварительно записаться на 2-3 недели вперед (смотри выше) то есть никакого выигрыша по времени.

Что ж? УЦ Росреестра оказывается единственной альтернативой. Начинаем изучать. УЦ располагается по ссылке. Нажимаем Сколько стоит?. 2200 рублей с записью на токен. 700 рублей Предоставляется в электронном виде личность удостоверяется в офисе. Опаньки! В электронном виде, это означает, что работают по схеме с запросом на сертификат. То есть можно самым правильным способом сгенерировать пару у себя на рабочем месте, отправить им запрос, а в офисе только пройти процедуру удостоверения личности то чем и должен заниматься УЦ.

Регистрируемся, заводим все данные в профиль. Жмем Отправить запрос. Сайт делает автоматическую диагностику установленного ПО: всё удовлетворяет необходимым требованиям, т.к. используются только общепринятые плагины к браузеру, а не так как у Тензора. Генерируем пару в режиме ФКН на нашем новом Рутокен ЭЦП 2.0 3000. Ждем. Через несколько минут приходят на электронную почту письма о дальнейших действия. Сказано, ждать документа на оплату. Где-то через полчаса приходит квитанция на оплату с QR-кодом. Платеж в бюджет, поэтому используется УИН. Оплачиваем 700 рублей через онлайн-банк. Ещё через 20 минут, заявка переходит в состояние оплачено. Связка Банк<->ГИС ГМП<->Росреестр работает быстрее чем платежи по реквизитам счета, но конкретная скорость может зависеть от выбранного банка. Звоним по указанному в письме телефону для записи на время для удостоверения личности номерки есть даже на сегодня. Бегом в офис кадастровой палаты. И вот результат в 14:00 этим вопросом озадачились. В 16:00 прошли процедуру удостоверения личности и пока ехали домой, выпустились сертификаты. Процедура достаточно тщательная, помимо всех документальных проверок, также производят фотографирование. Сертификаты, к слову, на 15 месяцев, а не как обычно на год.

Резюме


Несмотря на то, что Росреестр остался фактическим монолистом на рынке ЭП для сделок по недвижимости, работает четко. До этого я пользовался УЦ Тензор, где физлицу можно получить сертификат ЭП за 500 рублей. Но скорость работы, факт того, что не нужно ставить дополнительный софт, как у Тензора, сертификат на 15 месяцев всё это даёт мне основание похвалить впервые за много лет Росреестр. 200 рублей переплаты относительно Тензора того стоят, ИМХО.

Обновление Росреестра по части проведения электронных сделок



В предыдущей статье на эту тему мы рассматривали оформление сделок с помощью основного портала Росреестра (не доступен в момент написания). Вначале я решил пойти по проторенной тропе, но очень быстро упёрся в то, что введенный кадастровый номер помещения не валидируется, хотя введен абсолютно правильно. Анализ HTML-кода показал, что в валидатор вставлен костыль, который отвергает большинство кадастровых номеров по первой группе цифр, которая обозначает регион. Все регионы кроме шести штук (16, 26, 47, 61, 63 и 76) оказались таким образом как бы забаненными. Нигде об этом естественно не написано. Хотелось разбомбить.

Однако я быстро вспомнил, что аналогичный функционал, но с другим интерфейсом был представлен в личном кабинете гражданина в Росреестре (авторизация через ЕСИА), который мне не удалось протестить в прошлой статье. Сходил туда и беглый осмотр показал, что для Питера никаких ограничений нет. Значит будем делать так.
О возможных причинах такого поведения Росреестра
В настоящий момент в Росреестре идет активная миграция на новую информационную систему ФГИС ЕГРН. Миграция происходит по регионам. Возможно, что старый интерфейс для электронных заявлений не предназначен для работы с ФГИС ЕГРН. А новый, который в личном кабинете, предназначен.


Переходим на вкладку Услуги и сервисы и выбираем нужную услугу:


Далее нас ждет несколько шагов по заполнению заявления (в зависимости от выбранной услуги):


На первом шаге необходимо просто согласиться и поставить галочку.

Далее, к сожалению, скриншоты не публикую, так как в них содержится много персональных данных.

На втором шаге необходимо проверить и заполнить данные заявителя. Данные подтягиваются из ЕСИА, но если у вас профиль заполнен не полностью, то что-то придется дописать. Также Росреестр плохо подтягивает из ЕСИА адреса проживания и регистрации скорее всего вам придется указать их вручную. Также отмечу, что на данном шаге есть возможность добавить других заявителей. Это необходимо сделать, если у квартиры несколько собственников.

На третьем шаге указываются (в данном случае) данные о собственности (реквизиты помещения, доли и т.д.).

Четвертый шаг самый сложный. Тут необходимо загрузить все документы. Начиная со сканов паспорта, которые каждый заявитель заверяет своей электронной подписью, заканчивая договорами и прочими документами, которые должны заверяться электронными подписями тех, кто их подписывает. Например, договор, должен быть подписан всеми сторонами сделки. Кроме того, может понадобиться документ, который у вас есть только в бумажном виде или от стороны, которая в сделке не участвует например, согласие супруга. Тут можно прибегнуть к нотариусу нотариусы умеют сканить документы и своей электронной подписью подписывать сканы и факт того, что получившийся электронный документ полностью тождественен документу на бумажном носителе. Возможно, если весь документ составляет сам нотариус, то он может сразу сделать его электронным со своей подписью без вывода на бумагу не поверял работают ли так нотариусы на практике.

Для подписи одного документа несколькими электронными подписями так, чтобы все подписи попали в один файл (Росреестр не поддерживает возможность указать несколько файлов с подписями, которые относятся к одному документу), в каментах к прошлому посту рекомендовали использовать бесплатную утилиту Криптолайн фирмы Такском. Действительно, утилита огонь, хоть интерфейс и чудаковат.

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

Резюме


В казалось бы безвыходной ситуации нашелся выход. Всё потому что гики это не образ жизни, а стремление к неизведанному. Прошлый мой опыт, сотканный из просто желания попробовать неизведанное, обернулся реальной пользой.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru