malikzh / ncanode Goto Github PK
View Code? Open in Web Editor NEW⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК
Home Page: http://ncanode.kz
License: MIT License
⭐ Приложение-сервер для работы с Электронно Цифровой Подписью (ЭЦП) РК
Home Page: http://ncanode.kz
License: MIT License
Как можно cms подписать с TSP-метки?
Необходимо настроить CI систему для быстрой сборки
Как у пользователя забирать ключ p12 и пароль чтобы передать его по api?
{
"version": "1.0",
"method":"RAW.verify",
"params": {
"cms":"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",
"verifyOcsp": false,
"verifyCrl": false
}
}
Для примера пытался проверить из документации подписание пришло
{
"message": "Api error: certificate expired on 20190822121136GMT+00:00",
"status": 5
}
Хотелось бы проверить подпись не получаеться
Необходимо настроить автоматическую сборку образа Docker. Инструкция:
https://docs.travis-ci.com/user/docker/
При вызове функции cms.verify получаю ошибку
{ "message": "Api error: null", "status": 5 }
В postman то же самое.
Running in "http" mode... Starting HTTP server on 127.0.0.1:14579... java.security.cert.CRLException: Incomplete BER/DER data at sun.security.provider.X509Factory.engineGenerateCRL(Unknown Source) at java.security.cert.CertificateFactory.generateCRL(Unknown Source) at kz.ncanode.pki.CrlServiceProvider.verify(CrlServiceProvider.java:51) at kz.ncanode.pki.PkiServiceProvider.certInfo(PkiServiceProvider.java:174) at kz.ncanode.api.version.v20.controllers.CmsController.verify(CmsController.java:201) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at kz.ncanode.api.core.ApiController.invokeMethod(ApiController.java:56) at kz.ncanode.api.core.ApiController.callMethod(ApiController.java:38) at kz.ncanode.api.version.v20.ApiVersion20.process(ApiVersion20.java:97) at kz.ncanode.api.ApiServiceProvider.process(ApiServiceProvider.java:96) at kz.ncanode.interaction.interactors.HttpInteractor$HttpApiHandler.handle(HttpInteractor.java:95) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.AuthFilter.doFilter(Unknown Source) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source) at sun.net.httpserver.ServerImpl$DefaultExecutor.execute(Unknown Source) at sun.net.httpserver.ServerImpl$Dispatcher.handle(Unknown Source) at sun.net.httpserver.ServerImpl$Dispatcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source) java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at kz.ncanode.api.core.ApiController.invokeMethod(ApiController.java:56) at kz.ncanode.api.core.ApiController.callMethod(ApiController.java:38) at kz.ncanode.api.version.v20.ApiVersion20.process(ApiVersion20.java:97) at kz.ncanode.api.ApiServiceProvider.process(ApiServiceProvider.java:96) at kz.ncanode.interaction.interactors.HttpInteractor$HttpApiHandler.handle(HttpInteractor.java:95) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.AuthFilter.doFilter(Unknown Source) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(Unknown Source) at com.sun.net.httpserver.Filter$Chain.doFilter(Unknown Source) at sun.net.httpserver.ServerImpl$Exchange.run(Unknown Source) at sun.net.httpserver.ServerImpl$DefaultExecutor.execute(Unknown Source) at sun.net.httpserver.ServerImpl$Dispatcher.handle(Unknown Source) at sun.net.httpserver.ServerImpl$Dispatcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: kz.ncanode.api.exceptions.ApiErrorException at kz.ncanode.api.version.v20.controllers.CmsController.verify(CmsController.java:206) ... 19 more
Есть ли возможность реализовать дистрибутив NCANode в виде WAR-файла для размещения на apache tomcat сервере ?
Хотелось бы повысить производительность в высоко нагруженных системах.
Добрый день. В чем может быть причина ошибки? Начала появляться дня два назад. До этого было норм.
NCANode v2.3.0
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at kz.ncanode.api.core.ApiController.invokeMethod(ApiController.java:67)
at kz.ncanode.api.core.ApiController.callMethod(ApiController.java:39)
at kz.ncanode.api.version.v20.ApiVersion20.process(ApiVersion20.java:99)
at kz.ncanode.api.ApiServiceProvider.process(ApiServiceProvider.java:96)
at kz.ncanode.interaction.interactors.HttpInteractor$HttpApiHandler.handle(HttpInteractor.java:99)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692)
at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664)
at jdk.httpserver/sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:159)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:442)
at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:408)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: kz.ncanode.api.exceptions.ApiErrorException: Connection timed out (Connection timed out)
at kz.ncanode.api.version.v20.controllers.InfoController.pkcs12(InfoController.java:92)
... 19 more
Добавить клиент:
https://github.com/danikarik/ncanode-go
Необходимо реализовать метод:
CMS.extract
который будет извлекать документ из CMS-файла. Метод не будет принимать никаких параметров.
https://ibb.co/SKtzmbH
Добрый день. Спасибо за отличную разработку. По не определенным причинам выходит ошибка памяти, настройки java памяти увеличивали, не помогает.
Добрый день!
Скачал SDK, но в нем только kalkancrypt-0.6.1.jar, версии 0.6 нет в комплекте.
Я исправил в pom.xml таким образом:
<dependencies>
<dependency>
<groupId>pki.gov.kz</groupId>
<artifactId>kalkancrypt</artifactId>
<version>0.6.1</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/lib/kalkancrypt-0.6.1.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>pki.gov.kz</groupId>
<artifactId>kalkancrypt</artifactId>
<version>0.6.1</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
Собрал новый docker-образ.
При вызове метода node.info (API v2) я получаю "kalkanVersion": null
{
"dateTime": "2021-07-09 08:34:22",
"timezone": "GMT",
"kalkanVersion": null,
"name": "NCANode v2.3.0",
"message": "",
"version": "2.3.0",
"status": 0
}
Как исправить ошибку?
Спасибо!
Еще в файле pom.xml исправил 2.3.0 было 2.0.0
Добрый день, имеется подпись сделанная в прошлом году.
Прошло более года, подписант уже перевыпустил сертификаты.
Запрос на проверку подписи:
'version' => '2.0',
'method' => 'cms.verify',
'params' => [
'cms' => '....',
'verifyOcsp' => false,
'verifyCrl' => false
]
Возвращает такой результат: Api error: certificate expired on 20200207084020GMT+00:00
Как я понял - скорее всего не используется проверка TSP метки?
Здравствуйте, у вас отличный проект. Можете подсказать с юридической точки зрения, насколько правомерно передавать ключи пользователей на свой сервер? Т.е. могу ли я использовать ваш сервер на проекте, на котором любой пользователь может зайти и что-то подписать? Или пользоваться может только ограниченный круг, который подписал определнное соглашение?
Надо будет дописать в документации вместо <NCANodeDir> -> $(pwd)/NCANode
Вызов метода TSP SIGN для получения метки времени от этой base64 строки вызывает 500-ую ошибку в вашем сервисе.
Эта ошибка возникает в обеих версиях NCANode-а. Также заметили, что не только для этого файла возникает эта проблема, периодически клиенты замечают такую ошибку и для других файлов. Мы уже поиграли с комбинациями, такое ощущение, что он ругается на какие-то символы в самой строке RAW.
При подписании с 1 первой версии выходит ошибка
Api error: http://crl.pki.gov.kz/d_rsa.crl
по ссылке такого файла нет. Можете ли вы обратиться в Национальный удостоверящей центр Республики Казахстан
чтобы исправить эту ошибку. Благодарен.
если что в файле ncanode.ini думаю можно убрать ссылку на этот файл? или я не прав
Необходимо покрыть юнит тестами весь критический функционал
Также надо будет для CRL добавить поле revocationTime
для запроса CRL.
Line 35 in 00220c6
Надо будет добавить поддержку TSP
В методе XML.sign, добавить опцию tsp: [true|false]
, чтобы TSP сразу формировалась при создании подписи.
Добавить методы: TSP.sign
и TSP.verify
Добрый день.
Мы интегрируемся с сервисами smartbridge и хотим использовать ваш проект для подписания запросов.
Однако структура подписанного документа, сформированного согласно рекомендациям smartbridge, отличается от структуры, которую генерирует ncanode. В итоге при отправке запросов в smartbridge мы получаем ошибку, связанную с тем, что в запросе нет элемента wsse:Security
.
Вот сокращённый пример запроса, сфомированного и подписанного без ncanode, используя пример кода на java, который мы получили smartbridge. Он работает успешно:
<?xml>
<soap:Envelope>
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<wsse:Security>
<ds:Signature>
<ds:SignedInfo>...</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo>...</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</SOAP-ENV:Header>
<soap:Body>
<SendMessage>
<request xmlns="">...</request>
</SendMessage>
</soap:Body>
</soap:Envelope>
А вот тот же запрос, подписанный через ncanode, метод XML.sign:
<?xml>
<soap:Envelope>
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<request xmlns="">...</request>
</soap:Body>
<ds:Signature>
<ds:SignedInfo>...</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo>...</ds:KeyInfo>
</ds:Signature>
</soap:Envelope>
Основное отличие в том, что ncanode добавляет подпись в элементе, не завёрнутом в <wsse:Security>
.
Подскажите: верно ли мы формируем запрос для ncanode? Обязателен ли в принципе элемент <wsse:Security>
?
Конечно, можно внести изменения в ncanode src/main/java/kz/ncanode/api/version/v10/methods/XMLSign.java
и поменять логику формирования подписи. Это наверняка сломает совместимость с существующими клиентами проекта, но если вы одобрите, то я с удовольствием сделаю пулл-реквест.
Спасибо!
Добрый день!
Я пишу Go клиента для API NCANode. Все методы практически покрыты, кроме RAW.verify
. С последним есть сложности, так как получаю Api error: Cannot find certificate issuer
от API. Проверяя PKCS12.info
заметил что для всех сертификатов от комплекта разработчика от НУЦ (получил 02.09.2020) цепочка в ответе (chain
) всегда пустая, что и проводит к ошибке выше.
Вопрос: связано ли это как-то с версией библиотеки kalkancrypt? На руках последняя kalkancrypt-0.6.1.jar
.
Или вопрос к НУЦ и комплекту?
Подскажите пжл-та с чего начать проверку.
Подставил библиотеки из комплекта разработчика (SDK) в директорию /lib.
переименовал файл Dockerfile.build на Dockerfile и запустил команду
docker build -t malikzh/ncanode .
после запустил команду
docker run -ti -p 14579:14579 malikzh/ncanode
и при запросе
{
"version": "2.0",
"method": "node.info"
}
возвращает
{
"dateTime": "2020-10-10 07:04:56",
"timezone": "GMT",
"kalkanVersion": null,
"name": "NCANode v2.0.1",
"message": "",
"version": "2.0.1",
"status": 0
}
где я делаю не так? спасибо
Да, наконец-то это случится в этом году ;)
Привет, отличная работа этим продуктом, подскажите пож-та, посылаем запрос:
{"version":"1.0","method":"XML.verify","params":{"xml":"54d18b40c2de390e912f53c9fb175e64<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#\">\r\nds:SignedInfo\r\n<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>\r\n<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256\"/>\r\n<ds:Reference URI="">\r\nds:Transforms\r\n<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>\r\n<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>\r\n</ds:Transforms>\r\n<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256\"/>\r\nds:DigestValuew4RBCS9l0/JkxLFgL6VwrY28edp5/yKkZOopRACmYfI=</ds:DigestValue>\r\n</ds:Reference>\r\n</ds:SignedInfo>\r\nds:SignatureValue\r\nJEFeBhXSemuQusnqAq1MSd8hIJeCQt+/vVSyOS33E32BVPqhxYadwsW5Kv09TrOSgky5Ln//bZbD\r\nlBwZ8jQR5cNGNOEECM2/uxl56Ps0ct9CjUEGcRBuED1IzRWt/gYa08ZDCMjwDr/zvB7vibg9FEnS\r\nE6mKxpJfX3IAi3aFf3WzV2lSndRwbtLt39T9De3hYLIbbhYuVzt5HDBpT+uUsGccsGd/2CHyTxgS\r\nJzFBzoztoyuupyR0vUiqTndwvn5soc+a+kGze7ertk/w2GFKHqYqCc9whJzDDFVUSXNDL8DQs4qw\r\nrCslANMJogc0PysQghiRNm6Ak9g7kSLN+CceZg==\r\n</ds:SignatureValue>\r\nds:KeyInfo\r\nds:X509Data\r\nds:X509Certificate\r\nMIIGQzCCBCugAwIBAgIUPic8P9v7crVTrAeVuEfwa+m0cW8wDQYJKoZIhvcNAQELBQAwUjELMAkG\r\nA1UEBhMCS1oxQzBBBgNVBAMMOtKw0JvQotCi0KvSmiDQmtCj05jQm9CQ0J3QlNCr0KDQo9Co0Ksg\r\n0J7QoNCi0JDQm9Cr0pogKFJTQSkwHhcNMjAxMjA5MDMyMzAzWhcNMjExMjA5MDMyMzAzWjCBhTEk\r\nMCIGA1UEAwwb0KjQnNCY0JTQoiDQktCb0JDQlNCY0JzQmNCgMRMwEQYDVQQEDArQqNCc0JjQlNCi\r\nMRgwFgYDVQQFEw9JSU41OTA3MTIzNTAwOTgxCzAJBgNVBAYTAktaMSEwHwYDVQQqDBjQktCb0JDQ\r\nlNCY0JzQmNCg0J7QktCY0KcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCC313P3XHL\r\nH66zlGCDM/mHR94bAQaU8CfI4pdmrvQQcA5Gqy/w+eODgGLBYs4PrxI1T31TvX/qp1sYOOuv+noO\r\nvMdkgEaHlJRseLSHoqZ6dCMx/GsOwL2lhTvqvmg6/DPeYOANYa3lRe8hnPGgyRa3PLUoaQrhhGxX\r\nBymS0SbGhxCimxriPxmU+fl1aWDpByPjjx30DISFcbA4JlySaGLzK8HBLhSsr2/gNcDFChDKXled\r\n4eufiU+LaW+l1dF6mt03+YAgkp0nRlu3Gg/9ban2YTgKKfdn5HB9YKC87hKOyrwqoWcXoCQQSOik\r\nl3QGRL2G8O351TfcdUQcsdKen+3VAgMBAAGjggHbMIIB1zAOBgNVHQ8BAf8EBAMCBsAwHQYDVR0l\r\nBBYwFAYIKwYBBQUHAwQGCCqDDgMDBAEBMA8GA1UdIwQIMAaABFtqdBEwHQYDVR0OBBYEFPrTgU/V\r\nBrZCGeNUL9eFddLx00HeMF4GA1UdIARXMFUwUwYHKoMOAwMCAzBIMCEGCCsGAQUFBwIBFhVodHRw\r\nOi8vcGtpLmdvdi5rei9jcHMwIwYIKwYBBQUHAgIwFwwVaHR0cDovL3BraS5nb3Yua3ovY3BzMFYG\r\nA1UdHwRPME0wS6BJoEeGIWh0dHA6Ly9jcmwucGtpLmdvdi5rei9uY2FfcnNhLmNybIYiaHR0cDov\r\nL2NybDEucGtpLmdvdi5rei9uY2FfcnNhLmNybDBaBgNVHS4EUzBRME+gTaBLhiNodHRwOi8vY3Js\r\nLnBraS5nb3Yua3ovbmNhX2RfcnNhLmNybIYkaHR0cDovL2NybDEucGtpLmdvdi5rei9uY2FfZF9y\r\nc2EuY3JsMGIGCCsGAQUFBwEBBFYwVDAuBggrBgEFBQcwAoYiaHR0cDovL3BraS5nb3Yua3ovY2Vy\r\ndC9uY2FfcnNhLmNlcjAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AucGtpLmdvdi5rejANBgkqhkiG\r\n9w0BAQsFAAOCAgEADHWBFI1HJWSX2D1BpWB/nL9L4OnL+zb5pK/jlzcXCcZ4OkWgELPxsKIgLzt9\r\nyVSK4AkbWwq2F5xtRHnKziTdJ7jeJrtBNcJpvRhtm222SZL8jSX9tOsMCQUaw8QR10G7aSKatKl2\r\nElu4CxnxSIIQEEix5MjehjgizGaoQG7P6EzIeac+iUywG7fIARuB3jY83q50YCnRMerYYZV54zq1\r\nCs/mXEXvlzufyBsIcSg1TKp91ztNd2yeIPfcDLq4AiM0x2J5F8mK8nSPb289HvmIP2qTAKJROkCF\r\npCv5eniSoMRIAXHYz3BkrLHpRwpJS/7Fx2txE0h3tjLI5rErzdguSSf+fpKERE9TEDHktL4rxFki\r\nBMJTVNcTmCoTUNa7p6Z60AuBmbQ1kd+jmeYHcfb4PLAMdF8DRHxuGxU2KC701aUffS9tJsPa0NTN\r\n+rPViNR1A4qvgUdC/Jvj16FSirw91wEakAsPV71xURHAoSJhzXaNmvb/mWl6Lg7GUALstZBfGCCt\r\nrlTTEUlYUE3M01Mb8IO4DJaLxVvmRr0Ro3/+sR5Rc6/5WY6xyAK8A8760W+L0PlDNxu2mfcU3yx9\r\nLbsILZm8/CVbp6A1TzUZSGI5NBV64faKru32hlRzWOlM6IiEE+fWro5g5qK5HtvaejpIfW95ZSnh\r\n+OTsgc09g1RueOQ=\r\n</ds:X509Certificate>\r\n</ds:X509Data>\r\n</ds:KeyInfo>\r\n</ds:Signature>","verifyOcsp":true,"verifyCrl":false}}
Получаем ответ {"message":"Api error: Server returned HTTP response code: 500 for URL: http://ocsp.pki.gov.kz","status":5}
Это 1 из 1000 неудачных ответов, не знаем, что и делать, в чем может быть проблема?
Почему неудачно, из за того что Результат проверки TSP отсутствует?
Информация об электронном документе
Здравствуйте.
Планируете ли вы в обозримом будущем реализовать метод SignWsse?
Необходимо реализовать метод
CMS.multisign
Метод принимает на вход массив из:
Чтобы перевести ключ в формат base64, я должен скачать ключ к себе потом перевести в base64? NCALayer как я понял не выдает мне сам ключ или в формате base64. Спасибо
Добрый день!
Подобный вопрос уже задавали здесь:
Подписываю один документ с двумя ЭЦП, но в signers показывает только один #40
Столкнулись с необходимостью последовательной подписи, что вы подразумеваете под xmldsig подписью?
Какая схема работы предполагается для последовательной подписи?
Ранее мы пробовали метод XML.sign для последовательной подписи, но в таком случае, после второй подписи метод XML.verify выдает ошибку.
@malikzh можете помочь с ответом?
docker container logs 3bcf922d6a0b
--2019-03-26 06:43:50-- http://ncanode.kz/downloadlink.php
Resolving ncanode.kz (ncanode.kz)... 195.210.46.50, 2a00:5da0:1000::126
Connecting to ncanode.kz (ncanode.kz)|195.210.46.50|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://github.com/malikzh/NCANode/releases/download/v1.1.0/NCANode-v1.0.1.tar.gz [following]
--2019-03-26 06:43:50-- https://github.com/malikzh/NCANode/releases/download/v1.1.0/NCANode-v1.0.1.tar.gz
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-03-26 06:43:53 ERROR 404: Not Found.
Спасибо.
Еще вопрос.
Почему при использовании cms.sign и последующей проверке, получается это:
Это при использовании v2. Какой параметр передавать нужно, для создания метки TSP?
Originally posted by @anaumov93 in #66 (comment)
В связи с дублированием функционала, из метода CMS.sign будет удалён параметр tspInCms.
Теперь подпись TSP будет добавляться в CMS по умолчанию если указан флаг createTsp
.
Кому необходим именно TSP, те смогут воспользоваться методом TSP.sign
Добрый день!
Есть ли возможность развернуть сервис с использованием https?
Describe the bug
Я собрал проект, подставил все библиотеки в папку lib.
При запуске на сервере java -jar ncav2.jar -config:NCANode.ini
Завис с сообщением
Starting HTTP server on 0.0.0.0:14141
До этого все прекрасно работало. Вчера упал сервис, сегодня вот такая вот проблема. Серверные настройки не менял.
Добрый день,
По документации RAW.verify может валидировать подпись ЭЦП и получить оттуда данные пользователя, но как мне проверить, что эта подпись соответствует данным, которые пользователь подписывал?
Думаю стоит добавить эти строки в Dockerfile.build:
RUN wget -P ./ca/root https://pki.gov.kz/cert/root_rsa.crt
RUN wget -P ./ca/root https://pki.gov.kz/cert/root_gost.crt
RUN wget -P ./ca/trusted https://pki.gov.kz/cert/pki_rsa.crt
RUN wget -P ./ca/trusted https://pki.gov.kz/cert/pki_gost.crt
RUN wget -P ./ca/trusted https://pki.gov.kz/cert/nca_rsa.crt
RUN wget -P ./ca/trusted https://pki.gov.kz/cert/nca_gost.crt
Здравствуйте.
Запрос
{
"version": "2.0",
"method": "node.info"
}
Ответ
{
"dateTime": "2020-12-06 07:51:22",
"timezone": "Etc/UTC",
"kalkanVersion": null,
"name": "NCANode v2.0.1",
"message": "",
"version": "2.0.1",
"status": 0
}
Собирал с kalkancrypt-0.6.1.jar через mvn clean package. Для сборки отредактировал pom.xml, подставил 0.6.1 вместо 0.6
Что я сделал не так?)
Для передачи больших файлов base64 никуда не годится, т.к. увеличивает размер файла на треть, мною было принято решение о реализации бинарного протокола NBP ( NCANode Binary Protocol ). Спецификация протокола будет позже
Здравствуйте!
Подписываю один документ через cms.sign (2.0) с одним ЭЦП.
В cms.verify проверяю подписанный CMS, там все правильно показывает.
Потом этот CMS подписываю снова через другой ЭЦП.
и снова проверяю через cms.verify полученный CMS, а там показывает только последний подписавший ЭЦП.
проверил через RAW.sign (1.0), тоже самое.
Вопрос: что нужно сделать чтобы после подписи сохранились все подписи?
Пробовал подписать через https://ezsigner.kz/ там все показывает (все подписи).
Это надо сделать, чтобы смотрелось круто B-)
Здравствуйте!
Подскажите пожалуйста, как получить открепленную cms подпись?
Наподобие как в NCALayer, когда методу createCAdESFromBase64 в качестве одного из аргументов передается флаг "Включить данные в подпись"
Спасибо!
Всем привет. Не подскажете почему в lib не находит библиотеку при сборке?
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project kz.ncanode:ncanode:jar:2.0.1: The following artifacts could not be resolved: pki.gov.kz:kalkancrypt:jar:0.6, pki.gov.kz:kalkancryptxmldsig:jar:0.3: Failure to find pki.gov.kz:kalkancrypt:jar:0.6 in file:///root/lib was cached in the local repository, resolution will not be reattempted until the update interval of kalkan has elapsed or updates are forced
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.