Есть 2 сервера на одинаковых версиях Linux Astra
На них установлены одинаковые версии КриптоПро JCP
Astra Linux 1.7 Voronezh Template
#################################
mid1:~$ java ru.CryptoPro.JCP.tools.Check -all
ноя 15, 2023 5:01:21 PM ru.CryptoPro.JCP.tools.Starter <init>
INFO: Loading JCP 2.0.41789
ноя 15, 2023 5:01:21 PM ru.CryptoPro.JCP.tools.Starter <init>
INFO: JCP has been loaded.
ноя 15, 2023 5:01:22 PM ru.CryptoPro.Crypto.Starter <init>
INFO: Loading Crypto 2.0.41789 [crypto module]
ноя 15, 2023 5:01:22 PM ru.CryptoPro.Crypto.Starter <init>
INFO: Crypto has been loaded.
ноя 15, 2023 5:01:22 PM ru.CryptoPro.JCP.tools.Check all
INFO:
Linux; unknown; 5.10.0-1057-generic
10 proc.; amd64
OpenJDK Runtime Environment; 1.8.0_352-b08
1.8.0_352; BellSoft;
https://bell-sw.com/Java Virtual Machine Specification; 1.8; Oracle Corporation
OpenJDK 64-Bit Server VM; 25.352-b08; mixed mode; BellSoft
Java Platform API Specification; 1.8; Oracle Corporation
Java class format version number: 52.0
JIT: null
На протяжении полугода периодически возникает ситуация когда какой либо документ на одном из серверов перестаёт проходить проверку подписи в лог выбрасывается ошибка "Алгоритм ключа не соответствует алгоритму подписи.; error codes: [8]". При этом набор корневых и дочерних сертификатов одинаков на обоих серверах, но на одном сервере документ проходит проверку подписи на другом нет. Было много случаев каждый раз проверял сертификаты с ними проблем не было. На каком из серверов не проходит проверку всегда рандом, может быть что на обоих серверах есть подписи документов которые не проходят проверку, но на другом сервере они успешно проходят. Проблема обычно решается простым перезапуском Java-Приложения в которое интегрирован вызов проверки подписей через JCP. Обычный перезапуск и всё в порядке, проверка подписи начинает корректно везде отрабатывать.
Что можно с этим сделать как решить проблему? Может быть параметры какие то можно поправить? На данный момент нет понимания что приводит к такой проблеме. Пожалуйста помогите разобраться. Было подозрение что CRL (списки отозванных сертификатов) могли быть не доступны, но через утилиту wget по адресам из сертификатов успешно все загружаются на обоих серверах
Вызываю проверку подписи следующим образом
Код:
public static void verifyCAdESSignature(InputStream cadesCms, InputStream data, Collection<Certificate> certificates) throws Exception {
CAdESSignature cadesSignature = new CAdESSignature(cadesCms, data, null);
cadesSignature.verify(certificates);
...
}
certificates = null
В cadesCms, data передаются одни и те же данные на обоих серверах, а результат получаю разный
Сравнил логи КриптоПро по одному и тому же документу на разных серверах. По логу видно что в определённый момент логи начинают расходится справа лог с сервера где проверку подпись не проходит слева с сервера где проходит
Snimok ehkrana 2023-11-16 174345.png
(749kb) загружен 262 раз(а).В лог приложения из которого вызываю cadesSignature.verify(certificates) выбрасывается следующий лог
Код:
can't create content verifier: Алгоритм ключа не соответствует алгоритму подписи.; error codes: [8] 'Signature is invalid',
at ru.CryptoPro.CAdES.CAdESSignerRawImpl.verifyCryptographicSignature(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at com.haulmont.thesis.cryptopro.global.CryptoProHelper.verifyCAdESSignature(CryptoProHelper.java:57)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.superValidateSignatureAndGetError(SignatureDetailedWorkerBean.java:365)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.validateSignatureAndSetError(SignatureDetailedWorkerBean.java:346)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getDetailedSignatureInfo(SignatureDetailedWorkerBean.java:258)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getAttachmentSignatureEntities(SignatureDetailedWorkerBean.java:239)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getSignatureEntities(SignatureDetailedWorkerBean.java:110)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getSignatureEntities(SignatureDetailedWorkerBean.java:102)
at com.haulmont.ynao.core.app.signature.SignatureDetailedServiceBean.getSignatureEntities(SignatureDetailedServiceBean.java:27)
at sun.reflect.GeneratedMethodAccessor16041.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.haulmont.thesis.core.sys.ThesisServiceInterceptor.aroundInvoke(ThesisServiceInterceptor.java:31)
at sun.reflect.GeneratedMethodAccessor417.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.haulmont.cuba.core.sys.ServiceInterceptor.aroundInvoke(ServiceInterceptor.java:66)
at sun.reflect.GeneratedMethodAccessor416.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy459.getSignatureEntities(Unknown Source)
at sun.reflect.GeneratedMethodAccessor16041.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at com.sun.proxy.$Proxy718.getSignatureEntities(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
at com.haulmont.cuba.core.sys.remoting.CubaRemoteInvocationExecutor.invoke(CubaRemoteInvocationExecutor.java:80)
at com.haulmont.ynao.core.sys.remoting.YnaoRemoteInvocationExecutor.doInvoke(YnaoRemoteInvocationExecutor.java:33)
at com.haulmont.ynao.core.sys.remoting.YnaoRemoteInvocationExecutor.invoke(YnaoRemoteInvocationExecutor.java:24)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
at com.haulmont.cuba.core.sys.remoting.HttpServiceExporter.handleRequest(HttpServiceExporter.java:64)
at com.haulmont.ynao.core.sys.remoting.YnaoHttpServiceExporter.handleRequest(YnaoHttpServiceExporter.java:48)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at com.haulmont.cuba.core.sys.remoting.RemotingServlet.doService(RemotingServlet.java:132)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.bouncycastle.cms.CMSException: can't create content verifier: Алгоритм ключа не соответствует алгоритму подписи.
at org.bouncycastle.cms.SignerInformation.doVerify(Unknown Source)
at org.bouncycastle.cms.SignerInformation.verify(Unknown Source)
... 91 more
Caused by: org.bouncycastle.operator.OperatorCreationException: Алгоритм ключа не соответствует алгоритму подписи.
at ru.CryptoPro.CAdES.tools.verifier.SignatureOutputStream.<init>(Unknown Source)
at ru.CryptoPro.CAdES.tools.verifier.GostContentVerifierProvider.get(Unknown Source)
at org.bouncycastle.cms.SignerInformationVerifier.getContentVerifier(Unknown Source)
... 93 more
Caused by: java.security.InvalidKeyException: Алгоритм ключа не соответствует алгоритму подписи.
at ru.CryptoPro.JCP.Sign.cl_0.engineInitVerify(Unknown Source)
at java.security.Signature.initVerify(Signature.java:567)
... 96 more
org.bouncycastle.cms.CMSException: can't create content verifier: Алгоритм ключа не соответствует алгоритму подписи.
at org.bouncycastle.cms.SignerInformation.doVerify(Unknown Source)
at org.bouncycastle.cms.SignerInformation.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerRawImpl.verifyCryptographicSignature(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerPKCS7Impl.verify(Unknown Source)
at ru.CryptoPro.CAdES.CAdESSignerBESImpl.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at ru.CryptoPro.CAdES.cl_1.verify(Unknown Source)
at com.haulmont.thesis.cryptopro.global.CryptoProHelper.verifyCAdESSignature(CryptoProHelper.java:57)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.superValidateSignatureAndGetError(SignatureDetailedWorkerBean.java:365)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.validateSignatureAndSetError(SignatureDetailedWorkerBean.java:346)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getDetailedSignatureInfo(SignatureDetailedWorkerBean.java:258)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getAttachmentSignatureEntities(SignatureDetailedWorkerBean.java:239)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getSignatureEntities(SignatureDetailedWorkerBean.java:110)
at com.haulmont.ynao.core.app.signature.SignatureDetailedWorkerBean.getSignatureEntities(SignatureDetailedWorkerBean.java:102)
at com.haulmont.ynao.core.app.signature.SignatureDetailedServiceBean.getSignatureEntities(SignatureDetailedServiceBean.java:27)
at sun.reflect.GeneratedMethodAccessor16041.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.haulmont.thesis.core.sys.ThesisServiceInterceptor.aroundInvoke(ThesisServiceInterceptor.java:31)
at sun.reflect.GeneratedMethodAccessor417.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
at com.haulmont.cuba.core.sys.ServiceInterceptor.aroundInvoke(ServiceInterceptor.java:66)
at sun.reflect.GeneratedMethodAccessor416.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy459.getSignatureEntities(Unknown Source)
at sun.reflect.GeneratedMethodAccessor16041.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at com.sun.proxy.$Proxy718.getSignatureEntities(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
at com.haulmont.cuba.core.sys.remoting.CubaRemoteInvocationExecutor.invoke(CubaRemoteInvocationExecutor.java:80)
at com.haulmont.ynao.core.sys.remoting.YnaoRemoteInvocationExecutor.doInvoke(YnaoRemoteInvocationExecutor.java:33)
at com.haulmont.ynao.core.sys.remoting.YnaoRemoteInvocationExecutor.invoke(YnaoRemoteInvocationExecutor.java:24)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
at com.haulmont.cuba.core.sys.remoting.HttpServiceExporter.handleRequest(HttpServiceExporter.java:64)
at com.haulmont.ynao.core.sys.remoting.YnaoHttpServiceExporter.handleRequest(YnaoHttpServiceExporter.java:48)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
at com.haulmont.cuba.core.sys.remoting.RemotingServlet.doService(RemotingServlet.java:132)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.bouncycastle.operator.OperatorCreationException: Алгоритм ключа не соответствует алгоритму подписи.
at ru.CryptoPro.CAdES.tools.verifier.SignatureOutputStream.<init>(Unknown Source)
at ru.CryptoPro.CAdES.tools.verifier.GostContentVerifierProvider.get(Unknown Source)
at org.bouncycastle.cms.SignerInformationVerifier.getContentVerifier(Unknown Source)
... 93 more
Caused by: java.security.InvalidKeyException: Алгоритм ключа не соответствует алгоритму подписи.
at ru.CryptoPro.JCP.Sign.cl_0.engineInitVerify(Unknown Source)
at java.security.Signature.initVerify(Signature.java:567)
... 96 more
Отредактировано пользователем 16 ноября 2023 г. 16:52:26(UTC)
| Причина: Не указана