Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК

License

Notifications You must be signed in to change notification settings

ncanode-kz/NCANode

Open more actions menu

NCANode

⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК


License:MIT Downloads Docker Pulls Build CI and Test GitHub release (latest SemVer) codecov


Возможности

  • Кроссплатформенный сервер (Windows, Mac OS, Linux)
  • Работа с API посредством JSON
  • Подпись XML данных с помощью xmldsig
  • Подпись Wsse для SmartBridge
  • Поддержка OCSP и CRL
  • Проверка валидности сертификатов (включая цепочку доверия)
  • Поддержка работы с CMS ( Cryptographic Message Syntax )
  • Поддержка TSP-меток в CMS
  • Поддержка множественных подписей для xmldsig и CMS
  • Возможность добавления подписей уже в существующие файлы CMS и XML
  • Поддержка новых ЭЦП (ГОСТ 2015) и новых CRL
  • Добавлены тесты на весь функционал
  • Docker

Официальная группа в Telegram

В целях оперативного решения проблем / помощи, была создана официальная группа в Telegram: http://t.me/ncanode

Кому надо?

Если Вам необходимо реализовать подпись данных будь формата XML или любом другом произвольном формате, при этом на стороне сервера, Вы можете запустить NCANode на сервере и обращаться к нему посредством API (Http/RabbitMQ).

Кто использует?

Исходя из полученных писем от программистов, NCANode используется как в стартапах, так и в крупных страховых компаниях

СМИ об NCANode

https://profit.kz/news/56732/Otkritij-kod-Beeline-Hacktoberfest-v-Kazahstane/

Пример

Пример запроса (запрос информации о ключе):

{
  "xml": "<?xml version=\"1.0\" encoding=\"utf-8\"?><a><b>test</b></a>",
  "signers": [
    {
      "key": "MIIHTwIBAzCCBwkGCSqGS...",
      "password": "qwerty12"
    }
  ]
}

Пример ответа:

{
  "status": 200,
  "message": "OK",
  "xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?><a><b>test</b><ds:Signature x..."
}

Документация

Документацию можно найти на http://ncanode.kz

Swagger: https://v3.ncanode.kz/swagger-ui/

Contributors

Лицензия

Проект лицензирован под лицензией MIT

Важно!!!

По требованию АО «НИТ» | НУЦ РК. Библиотеки kalkancrypt-*.jar/knca_provider_jce_kalkan-*.jar и kalkancrypt-xmldsig-*.jar Были удалены из репозитория, поэтому для компиляции Вам необходимо подставить библиотеки из комплекта разработчика (SDK) в директорию /lib.

Сборка проекта

Версия gradle: 7.2 Версия java: 17

Для сборки проекта необходимо:

  1. Подставить библиотеки kalkancrypt (knca_provider_jce_kalkan-*.jar и kalkancrypt-xmldsig-*.jar) в директорию lib (Их можно запросить тут)
  2. ./gradlew bootJar (для jar файла) или ./gradlew bootWar (для war файла)

Собранный проект будет лежать: build/libs/NCANode.jar или build/libs/NCANode.war

Запуск проекта без сборки

Проект запустить можно командой:

$ ./gradlew bootRun

Запуск в Docker из готового образа

docker volume create ncanode_cache
docker run -p 14579:14579 -v ncanode_cache:/app/cache -d malikzh/ncanode

Запуск через Docker Compose

Предварительно нужно собрать проект через gradle и сгенерировать jar файлы

docker compose build  // сборка образа
docker compose up -d  // запуск контейнера
docker compose ps  // проверка статуса контейнера
docker compose stop  // остановка контейнера

После запуска

Проверить можно, перейдя на страницу: http://localhost:14579/actuator/health

Как отправить Pull Request

Если вы нашли и исправили ошибку, пожалуйста, отправьте Pull Request — я обязательно его рассмотрю.
Если требуется срочное рассмотрение вашего PR, напишите в группу Telegram.

Сделано с ❤️

About

⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.