NativeNCA Скачать

Нативная замена NCALayer для Windows

ЭЦП без Java и без пароля на каждую подпись

NativeNCA входит и подписывает на eGov, в интернет-банках и других казахстанских сервисах ключом ЭЦП НУЦ РК. Сайты работают с ней так же, как с NCALayer, а подпись вы подтверждаете лицом, отпечатком или PIN-кодом Windows Hello.

Бесплатно Открытый код, GPL-3.0 Windows 10 и 11, x64 и ARM64
Главное окно NativeNCA: список ключей ЭЦП с названиями и фото, сведения о сертификате Главное окно NativeNCA в тёмной теме

Почему не NCALayer

NCALayer заслужил пенсию

Он много лет подписывал документы за весь Казахстан, и спасибо ему за это. Сравните, как проходит одна подпись в нём и в NativeNCA: нажмите кнопку в любом из окон.

Типичное Java-приложение0,0 с
NCALayer
Готов к работе. Наверное.
NativeNCA0,0 с
NativeNCA
Вход в личный кабинетСайт запрашивает доступ к вашей ЭЦП
idp.egov.kzHTTPS
Личный eGovГОСТ · Пароль в хранилище
Windows Hello: приложите палец
ПодписаноКлюч остался на компьютере, пароль вводить не пришлось.

Это пародия. Совпадения с реальностью не случайны.

Сравнение NCALayer и NativeNCA
КороткоNCALayerNativeNCA
Java Везёт с собой целую Java-машину и держит её в памяти Не нужна. Один файл на .NET, сидит в трее
Пароль от ключа Найти файл .p12 и ввести пароль. На каждую подпись Один раз при добавлении ключа, дальше Windows Hello
Выбор ключа Угадать, какой из GOST512_…p12 нужный Понятные имена и фото: «Личный eGov», «ТОО Шанырак»
Сертификат для 127.0.0.1 Один и тот же закрытый ключ на всех компьютерах Свой на каждом компьютере, ключ центра сертификации уничтожен
Исходный код Закрыт, проверить нельзя Открыт на GitHub под GPL-3.0, можно собрать самому
Внешний вид Привет из эпохи Java-апплетов Fluent Design, Mica, светлая и тёмная темы

Возможности

Что умеет NativeNCA

Ключи .p12 добавляются один раз. Потом на каждый запрос сайта появляется окно, где видно, кто просит подпись, что именно подписать и каким ключом.

Совместим с NCALayer

Слушает тот же wss://127.0.0.1:13579 и понимает тот же протокол, поэтому сайтам ничего менять не нужно.

Ключи ГОСТ и RSA

СТ РК ГОСТ Р 34.10-2015 (512 бит) и RSA от НУЦ. Подписи CMS/CAdES и XML сверены с эталонными подписями Kalkan.

Windows Hello

Подпись подтверждается лицом, отпечатком пальца или PIN-кодом. Пароль от ключа вводится один раз, когда вы добавляете ключ.

Зашифрованное хранилище

Ключи и пароли шифруются Windows DPAPI. По желанию их дополнительно закрывает ключ Windows Hello из TPM.

Видно, что подписываете

В окне подтверждения показаны домен сайта, сами данные и ключи, которые подходят для запроса.

Фото ключей

Ключу можно назначить фото или логотип компании и кадрировать его прямо в программе, чтобы не путать ключи.

Метки времени НУЦ

С меткой CAdES-T подпись можно проверить и после того, как срок сертификата закончится.

Установка и обновления

Ставится без прав администратора. О новой версии программа сообщит сама и обновится, когда вы нажмёте «Обновить». Предыдущую версию можно вернуть.

Сделано для Windows 11

Fluent Design, Mica, тёмная тема, значок в трее и запуск вместе с Windows. Открывается сразу, без заставки.

Как проходит подпись

Что происходит, когда сайт просит подпись

  1. Сайт отправляет запрос

    eGov или банк обращается к 127.0.0.1:13579, как раньше к NCALayer.

  2. Вы видите, кто и что просит

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

  3. Подтверждаете через Windows Hello

    Ключ расшифровывается в памяти, данные подписываются на вашем компьютере.

  4. Сайт получает только подпись

    Ему уходят подпись и открытый сертификат. Закрытый ключ остаётся на компьютере.

Окно подтверждения NativeNCA: idp.egov.kz запрашивает вход, выбран ключ, кнопка «Подтвердить через Windows Hello» Окно подтверждения NativeNCA в тёмной теме

Безопасность

Как NativeNCA защищает ключи

Код открыт под лицензией GPL-3.0, устройство защиты подробно описано в README. Здесь собрано главное.

Открытый исходный код

Криптография, хранилище, протокол и обновления лежат на GitHub. Релизы собирает GitHub Actions из этого же кода, к каждому архиву приложена контрольная сумма SHA-256.

NCALayer: код закрыт
NativeNCA: код открыт, лицензия GPL-3.0

Свой сертификат на каждом компьютере

Браузеру нужен сертификат для 127.0.0.1. NativeNCA выпускает его своим центром сертификации и сразу уничтожает ключ этого центра. Ограничения имён разрешают только локальные адреса.

NCALayer: закрытый ключ одинаковый во всех установках
NativeNCA: у каждого компьютера свой

Хранилище под защитой Windows

Ключи и пароли зашифрованы DPAPI для вашей учётной записи. В защищённом режиме их дополнительно шифрует AES-256-GCM с ключом из TPM, который открывается только через Windows Hello.

Без вас ключи не расшифрует даже программа, запущенная от вашего имени

Подписанные обновления

Каждый архив релиза подписан ключом проекта. NativeNCA ставит обновление, только если подпись верна для этой версии и архитектуры, а версия новее установленной. Файлы скачиваются только с github.com по HTTPS. Предыдущая версия сохраняется для отката.

Сервер только для этого компьютера

NativeNCA слушает только 127.0.0.1: из локальной сети и интернета к нему не подключиться. Подпись создаётся на компьютере, закрытый ключ никуда не отправляется.

Без телеметрии

Разработчику программа ничего не отправляет. В интернет она обращается в двух случаях: к GitHub, чтобы проверить обновления (это можно выключить), и к службе меток времени НУЦ, если метки включены.

Что важно знать
  • NativeNCA — независимый проект. Он не связан с НУЦ РК и АО «НИТ», не одобрен ими и не является сертифицированным средством криптографической защиты информации.
  • Если сбросить PIN-код Windows при включённой защите Windows Hello, хранилище не расшифровать. Храните исходные файлы .p12 и пароли к ним.
  • Держите NCALayer под рукой на случай, если какой-то сервис не примет подпись, и напишите нам об этом.

Скриншоты

Выглядит как приложение Windows 11

Интерфейс собран на Fluent Design. Тема скриншотов переключается вместе с темой сайта.

Установка

Как начать

ШАГ 1

Скачайте архив

Кнопка ниже скачает версию для вашего процессора. Распакуйте архив в любую папку.

ШАГ 2

Установите

Запустите NativeNCA.exe и нажмите «Установить». Права администратора не нужны, программа появится в меню «Пуск».

ШАГ 3

Добавьте ключ

Windows один раз спросит про сертификат для браузеров, ответьте «Да». Затем выберите файл .p12 от НУЦ и введите пароль.

ШАГ 4

Войдите на eGov

Как обычно. Вместо NCALayer появится окно NativeNCA. Если NCALayer запущен, программа предложит его закрыть.

Windows 10 версии 2004+ или Windows 11 x64 или ARM64 Windows Hello желателен

Можно и без установки: «Запустить без установки» откроет программу прямо из папки с архивом, но такая копия не обновляется сама.

Скачать NativeNCA Версия 0.3.0 · x64 · 67,8 МБ

Вопросы

Частые вопросы

Это официальная программа?

Нет. NativeNCA — независимый проект с открытым кодом. Он не связан с НУЦ РК и АО «Национальные информационные технологии» и не является сертифицированным СКЗИ. Для сайтов разницы нет: они общаются с NativeNCA по тому же протоколу, что и с NCALayer.

Нужно ли удалять NCALayer?

Нет. Но одновременно они работать не могут: сайты ждут обе программы на одном порту 13579. Если NCALayer запущен, NativeNCA предложит закрыть его и отключить его автозапуск. Включить автозапуск обратно можно в любой момент.

Работает ли NativeNCA с eGov и банками?

Да. NativeNCA реализует модули NCALayer commonUtils и basics: вход, подписи CMS/CAdES и XML, несколько документов за раз. Если какой-то сервис не принял подпись, напишите в Issues, а пока воспользуйтесь NCALayer.

Нужна ли Java?

Нет. NativeNCA написана на .NET, и всё нужное уже внутри одного файла. Ни Java, ни Kalkan SDK не требуются.

Какие ключи поддерживаются?

Файловые ключи .p12 от НУЦ РК: СТ РК ГОСТ Р 34.10-2015 (512 бит) и RSA.

Пока не поддерживаются аппаратные носители и удостоверение личности (Kaztoken, eToken, JaCarta, ID-карта). Старые ключи ГОСТ 34.310-2004 тоже не поддерживаются: НУЦ перестал их выпускать, и срок всех таких ключей уже истёк.

Где хранятся мои ключи и пароли?

В папке %APPDATA%\NativeNCA\Vault, в зашифрованном виде: Windows DPAPI для вашей учётной записи. Если включить защиту Windows Hello, они дополнительно шифруются AES-256-GCM, а ключ к ним хранится в TPM и открывается только вашим лицом, отпечатком или PIN-кодом.

Как обновляется NativeNCA?

Установленная программа проверяет GitHub при запуске и раз в шесть часов. Когда выходит новая версия, в окне появляется баннер, а Windows один раз показывает уведомление. Обновление начнётся, только когда вы нажмёте «Обновить»: NativeNCA скачает архив, проверит подпись разработчика и перезапустится за несколько секунд. Ключи и параметры сохраняются.

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

Зачем программа устанавливает сертификат?

Сайты подключаются к wss://127.0.0.1:13579 по TLS, поэтому браузер должен доверять локальному сертификату. NativeNCA создаёт удостоверяющий центр только для вашего компьютера, выпускает им один сертификат для 127.0.0.1 и localhost и сразу уничтожает закрытый ключ центра. Подтвердить им что-то ещё невозможно.

Chrome, Edge и Firefox берут сертификат из хранилища Windows. Firefox, открытый во время установки, нужно перезапустить. Удалить сертификат можно в параметрах программы.

Windows SmartScreen предупреждает при запуске. Это нормально?

SmartScreen так реагирует на программы, которые скачало пока мало людей. Нажмите «Подробнее», затем «Выполнить в любом случае». Чтобы убедиться, что архив не подменили, сверьте его SHA-256 с файлом .sha256 со страницы релиза: в PowerShell это Get-FileHash NativeNCA-*.zip.

Что будет, если сбросить PIN-код Windows?

Если включена защита хранилища Windows Hello, ключ Windows Hello пропадёт вместе с PIN-кодом, и защищённые данные восстановить не получится. Без этой защиты сброс PIN-кода ни на что не влияет. В любом случае храните исходные файлы .p12 и пароли к ним.

Как удалить NativeNCA?

Кнопкой «Удалить NativeNCA» в параметрах программы или в «Параметры Windows → Приложения → Установленные приложения». Ключи и параметры по умолчанию остаются в %APPDATA%\NativeNCA на случай повторной установки. Чтобы удалить их вместе с сертификатом для браузеров, отметьте флажок. Исходные файлы .p12 программа не трогает.

Есть версия для macOS или Linux?

Нет. NativeNCA опирается на Windows Hello, DPAPI и хранилище сертификатов Windows, поэтому работает только в Windows 10 и 11.

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

Нисколько. Программа бесплатная, без рекламы, код открыт под лицензией GPL-3.0. Если хотите, можно поддержать разработку.

Загрузка началась

Распакуйте архив, запустите NativeNCA.exe и нажмите «Установить». Если SmartScreen спросит, нажмите «Подробнее» и «Выполнить в любом случае».