Сертификаты в Украине бывают трех типов: бумажный международный сертификат с подписями и печатями врачей — хорошая вещь, но её массово подделывают и доверие к ним падает. Получить можно у «семейного» врача. Международный сертификат европейского образца (EUDCC), ему и посвящен этот пост. Есть еще «внутренний сертификат» в Дие, он устроен так же как и европейский, только в него добавлен налоговый номер (РНОКПП) и номер паспорта. Бесполезен чуть менее, чем ничего.
 
Как получить сертификат с QR-кодом? Ни в коем случае не ставим себе приложение «Дия», и сразу идем на портал diia.gov.ua. Портал и приложение — не одно и тоже. Если вы поставили себе приложение — снесите его нахрен (не забудьте при этом сделать скриншот кода, если он у вас есть). Может быть и так, что данные о вас в ЕСОЗ не внесены или внесены неправильно, тогда нужно обращаться к врачам. Вас ждет семь кругов ада, пока данные в базе не исправят.

На портал можно зайти с помощью Bank ID (Приватбанк подойдет). После того, как банк передаст данные о вас «Дие» (которая как известно «ничего не хранит»), портал запросит у вас все данные повторно. Не спрашивайте меня зачем. Но тут открывается возможность. Если вас беспокоит безопасность ваших данных, то вы можете ввести левый телефон, левый email, и левый адрес проживания. Налоговый номер и паспорт лучше не портить. И телефон и email должны быть работающими, на них будут приходить коды подтверждения. Дату рождения Дия берет из той формы, которую вы заполняете, а не из данных полученных у банка. Её тоже придется указать правильно. И это грубейшая ошибка.

На последнем шаге регистрации может вылететь ошибка, не обращайте внимания и обновите страницу. Закажите сертификат в разделе «Здоровье». Если раздел по неведомым причинам неактивен, зайдите в профиль и попробуйте поменять адрес. Писать можно любой бред. Мне помогло, и с чем это связано я не знаю, потому что никакой документации на Дию, как не было, так и нет. Через какое-то время, от нескольких секунд до нескольких часов вам придет ссылка на PDF-файл. Скачайте, и лучше распечатайте. Сертификат действует год (проверить лучше, прочитав дату окончания из самого сертификата).

Больше вам ничего не нужно. Если у вас захотят проверить сертификат — покажите PDF или фотографию QR-кода. Если вам удобнее пользоваться приложениями, то Дия для этого тоже не нужна. Скачайте швейцарский "COVID Certificate". На андроидах он может не находится поиском из-за придури Гугла, тогда воспользуйтесь прямой ссылкой  Приложение легкое, стабильное, ему не нужен Интернет, «без СМС и регистрации», и уж тем более без верчения головой. Код приложения открыт и лежит на гитхабе.

Что хранится в QR-коде? Там есть ваше имя и фамилия в родном написании и в транслитерации (все приложения показывают «родное», это так и задумано), дата выдачи и окончания срока действия сертификата. Дата вашего рождения. Количество вакцинаций, их производитель, тип, и собственно то, что это вакцина от Covid-19. Так же стандартом предусмотрены сертификаты для тестов, и для переболевших (в Украине их только начали внедрять). Спецификация на формат EUDCC находится здесь

Почему сертификат сложно подделать? Все данные в сертификате подписаны цифровой подписью ECDSA NIST P-256, в случае Укаины секретный ключ для подписи хранится в Министерстве цифровой трансформации.

Не смотря на панические слухи, ни один из ключей стран-участниц до сих пор не потек. Если это случится, то все сертификаты подписанные скомпрометированным ключом будут отозваны, и их придется получать заново. Сертификаты «Гитлера» были созданы или врачами-шутниками, или через бекенд Северной Македонии, который по ошибке оказался в открытом доступе. Стандарт предусматривает так же черный список отозванных сертификатов (в Украине не работает). Большинство «левых» сертификатов выписывают врачи-взяточники, не только у нас, но и по всему миру. Цена колеблется от $300 до $500. Гораздо полезнее для здоровья (и для кошелька) — вакцинироваться бесплатно, и получить честный сертификат. Если конечно у вас нет противопоказаний.

Как работает инфраструктура сертификатов у нас и за рубежом? Данные о прививках вносятся врачами в национальную медицинскую базу данных. В случае Украины — это ЕСОЗ (в подчинении МОЗ и НСЗУ). В нормальных странах выдачей сертификатов занимается минздрав. И его можно получить сразу после прививки, на емейл, если оставить его врачу, в аптеке как в Германии, там сертификат с QR-крдом можно получить по украинской бумажной справке. Или на специальном сайте с минимальной аутентификацией, это может быть налоговый-номер+дата рождения или что-то подобное. Вот так это выглядит в Молдове
 
Может показаться, что такое решение не вполне безопасно, но если вы знаете имя и дату рождения, и в сертификате есть имя и дата рождения, то новой информации вы не получите. Не может потечь то, что противник и так уже знает. Тем не менее, подобный подход можно улучшить, если защитить форму ввода капчей или случайным «пином», выдаваемым в оффлйане при вакцинации. Не через телефон. Не нужно давать телефон кому попало. Особенно государству.

Спецификация на сертификаты версии 1.3, примеры реализации и тесты была готова в апреле. Однако, «диевые» захотели украсть полезную фичу в свое говноприложение, чтобы загнать туда как можно больше людей. Существа, которые пытаются извлечь выгоду из общей беды называются мародеры. Из-за этого, а так же из-за того, что диевые захотели навязать всем «Дія.Підпис», сертификаті появились только в августе. На портале — 24 сентября (с ЕЦП), и только на днях, в ноябре (!), в более-менее удобоваримом виде, без подписи. Полгода — псу под хвост.

ВНИМАНИЕ! Если вы получали сертификат через приложение в августе, то тогда были выпущены неправильные сертификаты. Естественно, МЦТ не признало свою ошибку и никого не предупредило. Проверьте свой сертификат швейцарским приложением "COVID Certificate Check". Так же в старых сертификатах может отличаться срок действия сертификата полгода, а не год.

После того, как сотни тысяч людей чуть не свернули себе шею, пытаясь пройти биометрическую аутентификацию, которая в данном случае, как зайцу стоп-сигнал, подпись убрали и с портала, и из приложения. Цифровая подпись имеет юридическую силу, если её каким-то образом у вас украдут, то быть беде. Сносите приложения, отзывайте подписи. Как это сделать написано на сайте АЦСК Дия
 
Сам по себе сертификат — обычная медицинская справка, и не является документом идентифицирующим личность. Поэтому паспорт желательно носить с собой, а при проверке — сканировать код и сравнивать его данные с паспортом. Я это пишу, не потому, что мне нравится идея проверки кодов на каждом углу, а просто потому, что в любом ином случае проверка не имеет ни малейшего смысла. И с тем же успехом можно показывать код соседа или ценник из супермаркета «окорочка куриные». Чем сейчас и занимается школота с приложениями и веб-страничками, выглядящими как «Дия». Ничего хорошего в этом нет, но и плохого тоже. Это ошибка диевых мародеров, которые никому ничего не рассказали и не объяснили.

Если МЦТ будет вам рассказывать сказки о том, как неимоверно сложно было реализовать выдачу сертификатов, то могу вас заверить, что это очередное вранье. Вот так генерируется сертификат на python 3 (три) строки, а вот таким кодом, можно вывести сертификат на экран  1 (одна) строка. Про «высоконагруженные» сервисы — тоже вранье. Если бы сервис был реализован на базе ЕСОЗ (как это и нужно было сделать изначально!) без посредника в виде Дии, то даже очень скромный компьютер управился бы с генерацией и выдачей всех сертификатов за 1 (один) день.

Обновляемая версия этого поста в фейсбуке