Ошибка проверки подписи xml.
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Ошибка проверки подписи xml.

Ошибка проверки подписи xml. 1 год, 10 мес. назад #3383

  • Nurlan74
  • Новый участник
  • Постов: 1
  • Репутация: 0
Использую библиотеку KalkanCryptCOM.dll (версия - 2.2.0.0) в C#
При попытке проверить подпись xml получаю ошибку если одним и тем же ком объектом проверять две xml, одна из которых подписана Gost, вторая Rsa. Причем порядок проверки не важен, всегда ошибка возникает на второй проверке, т.е. если первым проверяется xml подписанная Rsa, проверка успешная, затем Gost - ошибка. И наоборот, если первый Gost - успешно, вторая Rsa - ошибка.

Ошибка выглядит так:

Error: 0x08F0001C

XMLSec Initialize - OK.
XMLSec load trusted certificates - OK.
XMLSec parse doc - OK.
Get PKI data properties - OK.
Get PKI data properties - OK.
Get PKI data properties - OK.
XMLSec verify xml - found 1 sign(s).
XMLSec-error: func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=356:obj=x509-store:subj=X509_verify_cert:error=4:crypto library function failed:subj=/CN=....serialNumber=..../C=KZ;err=20;msg=unable to get local issuer certificate

XMLSec-error: func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=404:obj=x509-store:subj=unknown:error=71:certificate verification failed:err=20;msg=unable to get local issuer certificate

XMLSec-error: func=xmlSecKeysMngrGetKey:file=keys.c:line=1370:obj=unknown:subj=xmlSecKeysMngrFindKey:error=1:xmlsec library function failed:

XMLSec-error: func=xmlSecTransformSetKey:file=transforms.c:line=1725:obj=unknown:subj=key != NULL:error=100:assertion:

XMLSec-error: func=xmlSecDSigCtxProcessKeyInfoNode:file=xmldsig.c:line=959:obj=unknown:subj=xmlSecTransformSetKey:error=1:xmlsec library function failed:transform=rsa-sha1

XMLSec-error: func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=583:obj=unknown:subj=xmlSecDSigCtxProcessKeyInfoNode:error=1:xmlsec library function failed:

XMLSec-error: func=xmlSecDSigCtxVerify:file=xmldsig.c:line=386:obj=unknown:subj=xmlSecDSigCtxSignatureProcessNode:error=1:xmlsec library function failed:

XMLSec verify xml - FAILED.
XMLSec verify xml - FAILED.

Подскажите пожалуйста, как можно добиться стабильной работы библиотеки при проверке ЭЦП обоих алгоритмов?
PS. та же ошибка возникает и в тестовой утилите (KalkanCryptTest) поставляемой в SDK, достаточно ей скормить подряд две xml (без перезапуска приложения)
Изменено: 1 год, 10 мес. назад от Nurlan74.

Re: Ошибка проверки подписи xml. 1 год, 10 мес. назад #3387

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Здравствуйте!

Воспроизвести ошибку удалось. До конца недели исправим.
Спасибо за сообщение.
Модератор

Re: Ошибка проверки подписи xml. 1 год, 9 мес. назад #3398

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Сегодня обновили библиотеки в SDK НУЦ РК.
Ошибки исправлены.
Модератор

Re: Ошибка проверки подписи xml. 1 мес., 2 нед. назад #5083

  • zhek
  • Новый участник
  • Постов: 1
  • Репутация: 0
Добрый день!

Получаю аналогичную ошибку при попытке проверки подлинности подписанного XML средствами PHP расширения, предоставляемого в последних версиях SDK:

Error: 149946396
XMLSec Initialize - OK.
XMLSec parse doc - OK.
Get PKI data properties - OK.
Get PKI data properties - OK.
Get PKI data properties - OK.
XMLSec verify xml - found 1 sign(s).
Get PKI data properties - OK.
Get PKI data properties - OK.
XMLSec load trusted certificates - OK.
XMLSec-error:
func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=341:obj=x509-store:subj=unknown:error=71:certificate verification failed:X509_verify_cert: subject=/CN=\xD0\x9A\xD0\x9E\xD0\x97\xD0\x9B\xD0\x9E\xD0\x92 \xD0\x95\xD0\x92\xD0\x93\xD0\x95\xD0\x9D\xD0\x98\xD0\x99/SN=\xD0\x9A\xD0\x9E\xD0\x97\xD0\x9B\xD0\x9E\xD0\x92/serialNumber=IIN860120350413/C=KZ/L=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90; issuer=/C=KZ/L=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90/ST=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90; err=20; msg=unable to get local issuer certificate

XMLSec-error:
func=xmlSecOpenSSLX509StoreVerify:file=x509vfy.c:line=380:obj=x509-store:subj=unknown:error=71:certificate verification failed:subject=/CN=\xD0\x9A\xD0\x9E\xD0\x97\xD0\x9B\xD0\x9E\xD0\x92 \xD0\x95\xD0\x92\xD0\x93\xD0\x95\xD0\x9D\xD0\x98\xD0\x99/SN=\xD0\x9A\xD0\x9E\xD0\x97\xD0\x9B\xD0\x9E\xD0\x92/serialNumber=IIN860120350413/C=KZ/L=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90; issuer=/C=KZ/L=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90/ST=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90; err=20; msg=unable to get local issuer certificate

XMLSec-error:
func=xmlSecKeysMngrGetKey:file=keys.c:line=1246:obj=unknown:subj=xmlSecKeysMngrFindKey:error=1:xmlsec library function failed:

XMLSec-error:
func=xmlSecTransformSetKey:file=transforms.c:line=1431:obj=unknown:subj=key != NULL:error=100:assertion:

XMLSec-error:
func=xmlSecDSigCtxProcessKeyInfoNode:file=xmldsig.c:line=798:obj=gost343102004-gost34311:subj=xmlSecTransformSetKey:error=1:xmlsec library function failed:

XMLSec-error:
func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=503:obj=unknown:subj=xmlSecDSigCtxProcessKeyInfoNode:error=1:xmlsec library function failed:

XMLSec-error:
func=xmlSecDSigCtxVerify:file=xmldsig.c:line=341:obj=unknown:subj=xmlSecDSigCtxSignatureProcessNode:error=1:xmlsec library function failed:

XMLSec verify xml - FAILED.
XMLSec verify xml - FAILED.

Проверка осуществляется через предоставляемый пример test.php, с самим подписанием проблем при этом не возникает. Пути к корневым сертификатам указаны корректно.

Re: Ошибка проверки подписи xml. 1 мес., 2 нед. назад #5084

  • danil.miskiv
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 1
Добрый день. Подскажите, Вы для каждого подписанного XML подгружаете заново корневые сертификаты?

Получается, если вот так:
1) Подгружаю тестовые корневые для ГОСТ;
2) Проверяю XML, подписанный ГОСТ-ключом;
3) Подгружаю тестовые корневые для RSA;
4) Проверяю XML, подписанный RSA-ключом;

то все работает хорошо. Проверьте
  • Страница:
  • 1
FaLang translation system by Faboba