Код JAVA из SDK, для проверки и подписания новых ЭЦП, не работают

В последнем SDK примеры Java старые, последние изменения вносились в 2015 году. Может есть обновленные варианты кодов?

У меня проблемы возникают в следующих местах:
1) Онлайн проверка тестового ключа нового формата (из SDK) всегда возвращает статус 1. Проверка через сервис http://test.pki.gov.kz/ocsp. Проверил со всеми корневыми сертификатами которые в SDK. Старые ЭЦП проверяются без проблем. Использую код SDK 2.0\Java\examples\OCSPTest.java

private VerifySignatureResult makeOcspResponse(HttpURLConnection con) throws OCSPException, Exception {
try {
InputStream in = con.getInputStream();
OCSPResp response = new OCSPResp(in);
in.close();
log.info(“makeOcspResponse” + response.getStatus());
} …

2) Не получается подписать с тестовыми ключами нового формата. Код Java в SDK все старые. Использую код из примера SDK 2.0\Java\examples\XMLSignSample\src\kz\gov\pki\XMLSignSample.java. Думаю может нужны новые методы подписания.
if (sigAlgOid.equals(PKCSObjectIdentifiers.sha1WithRSAEncryption.getId())) {
signMethod = Constants.MoreAlgorithmsSpecNS + “rsa-sha1”;
digestMethod = Constants.MoreAlgorithmsSpecNS + “sha1”;
} else if (sigAlgOid.equals(PKCSObjectIdentifiers.sha256WithRSAEncryption.getId())) {
signMethod = Constants.MoreAlgorithmsSpecNS + “rsa-sha256”;
digestMethod = XMLCipherParameters.SHA256;
} else {
signMethod = Constants.MoreAlgorithmsSpecNS + “gost34310-gost34311”;
digestMethod = Constants.MoreAlgorithmsSpecNS + “gost34311”;
}

Примеры пока еще не обновлены, потому что работы по переходу на новый ГОСТ пока еще не закончены.

Корневые из какой папки вы указывали для OCSP?

Для примера по XML можете добавить

else if (sigAlgOid.equals(KNCAObjectIdentifiers.gost3411_2015_with_gost3410_2015_512.getId())) {
        signMethod = "urn:ietf:params:xml:ns:pkigovkz:xmlsec:algorithms:gostr34102015-gostr34112015-512";
        digestMethod = "urn:ietf:params:xml:ns:pkigovkz:xmlsec:algorithms:gostr34112015-512";
}

Корневые взял из папки SDK 2.0\GOST2015-TEST\cert\root. На всякий случай и старые, и свежие с сайта тоже пробовал

Здравствуйте!
В библиотеке knca_provider_util есть PKIXUtil для проверки цепочки. Там можно проверять действительность сертификата либо через CRL, либо OCSP
Его исходный код опубликован здесь
https://gist.github.com/as1an/8533a5c3f9ae9787de50a44457b242b8

Он использует KNCAOCSPChecker из библиотеки KalkanCrypt
Исходный код тут
https://gist.github.com/as1an/c84b13b0afc740dde14d90c8b0d5e88d

Здравствуйте!

Спасибо, подписать получилось.

Первую проблему все еще не могу решить. Попробовал метод проверки из PKIXUtil. Статус на этом месте всегда 1. С ошибкой Certification path could not be validated

if (ocspResp.getStatus() != OCSPRespStatus.SUCCESSFUL) {
   throw new KalkanException(OCSPCode.OCSP_RESP_NOT_SUCCESSFUL).set("status", ocspResp.getStatus());
}

Сертификат тестовый из папки SDK 2.0\GOST2015-TEST\cert\действующие\ЮЛ\первый руководитель
Корневые из папки SDK 2.0\GOST2015-TEST\cert\root