{"id":13772405,"url":"https://github.com/malikzh/NCANode","last_synced_at":"2025-05-11T04:31:23.090Z","repository":{"id":36649706,"uuid":"153664167","full_name":"malikzh/NCANode","owner":"malikzh","description":"⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК","archived":false,"fork":false,"pushed_at":"2024-05-14T05:35:27.000Z","size":1424,"stargazers_count":239,"open_issues_count":22,"forks_count":84,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-14T06:35:44.035Z","etag":null,"topics":["api","crl","digital-signatures","gost","java","kalkan","kazakhstan","knca","ncalayer","ocsp","oid","pkcs12","pki","tsp","x509"],"latest_commit_sha":null,"homepage":"http://ncanode.kz","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/malikzh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-18T17:47:39.000Z","updated_at":"2024-08-23T02:40:26.937Z","dependencies_parsed_at":"2023-11-24T13:45:05.981Z","dependency_job_id":"7f50477f-72c8-42f7-bca0-ccee6ef317c4","html_url":"https://github.com/malikzh/NCANode","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malikzh%2FNCANode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malikzh%2FNCANode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malikzh%2FNCANode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/malikzh%2FNCANode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/malikzh","download_url":"https://codeload.github.com/malikzh/NCANode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253518941,"owners_count":21921074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","crl","digital-signatures","gost","java","kalkan","kazakhstan","knca","ncalayer","ocsp","oid","pkcs12","pki","tsp","x509"],"created_at":"2024-08-03T17:01:03.614Z","updated_at":"2025-05-11T04:31:20.292Z","avatar_url":"https://github.com/malikzh.png","language":"Java","readme":"\n![NCANode](NCANode.png)\n\n\n⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК\n\n---\n\n![License:MIT](https://img.shields.io/badge/license-MIT-green.svg)\n![Downloads](https://img.shields.io/github/downloads/malikzh/NCANode/total.svg)\n![Docker Pulls](https://img.shields.io/docker/pulls/malikzh/ncanode)\n[![Build CI and Test](https://github.com/malikzh/NCANode/actions/workflows/build-ci.yml/badge.svg)](https://github.com/malikzh/NCANode/actions/workflows/build-ci.yml)\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/malikzh/NCANode)\n[![codecov](https://codecov.io/gh/malikzh/NCANode/branch/master/graph/badge.svg?token=yk6ln3mlTB)](https://codecov.io/gh/malikzh/NCANode)\n\n---\n\n## Возможности\n\n- Кроссплатформенный сервер (Windows, Mac OS, Linux)\n- Работа с API посредством JSON\n- Подпись XML данных с помощью xmldsig\n- Подпись Wsse для [SmartBridge](https://sb.egov.kz/)\n- Поддержка OCSP и CRL\n- Проверка валидности сертификатов (включая цепочку доверия)\n- Поддержка работы с CMS ( [Cryptographic Message Syntax](https://en.wikipedia.org/wiki/Cryptographic_Message_Syntax) )\n- Поддержка TSP-меток в CMS\n- Поддержка множественных подписей для xmldsig и CMS\n- Возможность добавления подписей уже в существующие файлы CMS и XML\n- Поддержка новых ЭЦП (ГОСТ 2015) и новых CRL\n- Добавлены тесты на весь функционал\n- Docker\n\n## Кому надо?\n\nЕсли Вам необходимо реализовать подпись данных будь формата XML или любом другом произвольном формате, при этом на стороне сервера,\nВы можете запустить NCANode на сервере и обращаться к нему посредством API (Http/RabbitMQ).\n\n## Кто использует?\n\nИсходя из полученных писем от программистов, NCANode используется как в стартапах, так и в крупных страховых компаниях\n\n## СМИ об NCANode\n\nhttps://profit.kz/news/56732/Otkritij-kod-Beeline-Hacktoberfest-v-Kazahstane/\n\n## Пример\n\nПример запроса (запрос информации о ключе):\n\n```json\n{\n  \"xml\": \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?\u003e\u003ca\u003e\u003cb\u003etest\u003c/b\u003e\u003c/a\u003e\",\n  \"signers\": [\n    {\n      \"key\": \"MIIHTwIBAzCCBwkGCSqGS...\",\n      \"password\": \"qwerty12\"\n    }\n  ]\n}\n```\n\nПример ответа:\n\n```json\n{\n  \"status\": 200,\n  \"message\": \"OK\",\n  \"xml\": \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\" standalone=\\\"no\\\"?\u003e\u003ca\u003e\u003cb\u003etest\u003c/b\u003e\u003cds:Signature x...\"\n}\n```\n\n## Документация\n\nДокументацию можно найти на http://ncanode.kz\n\nSwagger: https://v3.ncanode.kz/swagger-ui/\n\n## Contributors\n\n\u003ca href=\"https://github.com/malikzh/NCANode/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=malikzh/NCANode\" /\u003e\n\u003c/a\u003e\n\n## Лицензия\n\nПроект лицензирован под лицензией [MIT](LICENSE)\n\n## Важно!!!\n\nПо требованию  АО «НИТ» | НУЦ РК. Библиотеки `kalkancrypt-*.jar`/`knca_provider_jce_kalkan-*.jar` и `kalkancrypt-xmldsig-*.jar`\nБыли удалены из репозитория, поэтому для компиляции Вам необходимо подставить библиотеки\nиз комплекта разработчика (SDK) в директорию `/lib`.\n\n### Сборка проекта\n\nВерсия gradle: 7.2\nВерсия java: 17\n\nДля сборки проекта необходимо:\n\n1. Подставить библиотеки kalkancrypt (`knca_provider_jce_kalkan-*.jar` и `kalkancrypt-xmldsig-*.jar`) в директорию lib (Их можно запросить [тут](https://pki.gov.kz/developers/))\n2. `./gradlew bootJar` (для jar файла) или `./gradlew bootWar` (для war файла)\n\n\nСобранный проект будет лежать: `build/libs/NCANode.jar` или `build/libs/NCANode.war`\n\n### Запуск проекта без сборки\n\nПроект запустить можно командой:\n\n```bash\n$ ./gradlew bootRun\n```\n\n### Запуск в Docker из готового образа\n\n```bash\ndocker volume create ncanode_cache\ndocker run -p 14579:14579 -v ncanode_cache:/app/cache -d malikzh/ncanode\n```\n\n### Запуск через Docker Compose\n\nПредварительно нужно собрать проект через gradle и сгенерировать jar файлы\n\n```bash\ndocker compose build  // сборка образа\ndocker compose up -d  // запуск контейнера\ndocker compose ps  // проверка статуса контейнера\ndocker compose stop  // остановка контейнера\n```\n\n### После запуска\n\nПроверить можно, перейдя на страницу: http://localhost:14579/actuator/health\n\nСделано с ❤️\n","funding_links":[],"categories":["\u003e 100 ⭐️"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalikzh%2FNCANode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmalikzh%2FNCANode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmalikzh%2FNCANode/lists"}