Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline AlexNMalkov  
#1 Оставлено : 30 ноября 2021 г. 16:39:18(UTC)
AlexNMalkov

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.11.2021(UTC)
Сообщений: 3
Российская Федерация
Откуда: Ярославль

Добрый день!

Проверяем PDF c встроенной ЭП.
В момент инициализации объекта проверки получаем ошибку

java.lang.NullPointerException
at ru.CryptoPro.JCP.Sign.cl_0.engineInitVerify(Unknown Source)
at java.security.Signature.initVerify(Unknown Source)
at com.itextpdf.text.pdf.security.PdfPKCS7.initSignature(PdfPKCS7.java:701)
at com.itextpdf.text.pdf.security.PdfPKCS7.<init>(PdfPKCS7.java:459)
at com.itextpdf.text.pdf.AcroFields.verifySignature(AcroFields.java:2420)

Причина: Public Key в вызове функций инициализации == null.
Установлена jcp-2.0.40035 (тестовая, без ввода лицензии) и itextpdf-5.5.9

java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

Как победить?
Offline Евгений Афанасьев  
#2 Оставлено : 14 декабря 2021 г. 22:47:05(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Возможно, имеется более одного провайдера, реализующего ГОСТ алгоритмы, выглядит так, будто вместо открытого ключа из сертификата получен null.
В java.security не прописан какой-нибудь провайдер, кроме стандартных, над JCP?
Offline AlexNMalkov  
#3 Оставлено : 15 декабря 2021 г. 8:11:32(UTC)
AlexNMalkov

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.11.2021(UTC)
Сообщений: 3
Российская Федерация
Откуда: Ярославль

Вроде нет. Вот полный перечень провайдеров.
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=sun.security.ec.SunEC
security.provider.4=com.sun.net.ssl.internal.ssl.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider
security.provider.7=com.sun.security.sasl.Provider
security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.9=sun.security.smartcardio.SunPCSC
security.provider.10=sun.security.mscapi.SunMSCAPI
security.provider.11=ru.CryptoPro.reprov.RevCheck
security.provider.12=ru.CryptoPro.JCP.JCP
security.provider.13=ru.CryptoPro.Crypto.CryptoProvider
Offline Евгений Афанасьев  
#4 Оставлено : 15 декабря 2021 г. 17:49:36(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Включите логирование так https://support.cryptopr...nlirovnija-kriptopro-jcp и соберите лог.
Offline AlexNMalkov  
#5 Оставлено : 20 декабря 2021 г. 10:58:37(UTC)
AlexNMalkov

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.11.2021(UTC)
Сообщений: 3
Российская Федерация
Откуда: Ярославль

Содержимое лога в консоли Eclipce:
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_2012_256_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_2012_512_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_class_defaultDH=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_256_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_256_dh_class_defaultDH=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_512_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_512_dh_class_defaultDH=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpecDH_class_defaultDH=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpecDH_2012_256_class_defaultDH=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpec_class_defaultECC=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpec_2012_256_class_defaultECC=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_2012_256_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_2012_512_class_default=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getBoolean
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools/Control.StrengthenedKeyUsageControl=true
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref getBoolean
CONFIG: User Preference Node: /ru/CryptoPro/JCP/Random.CertifiedRandom_class_RequirePhysical=false
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester <init>
FINE: SelfTester ctor.
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref get
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools.SelfTester_jar_names=ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: SelfTester parameter: ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: Get class url for name: ru.CryptoPro.JCP.Install.JCPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCP.jar added to SelfTester
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: Get class url for name: ru.CryptoPro.Crypto.JCryptoPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCryptoP.jar added to SelfTester
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: SelfTester parameter: ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller;ru.CryptoPro.JCSP.JCSPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: Get class url for name: ru.CryptoPro.JCSP.JCSPInstaller
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester b
FINE: IGNORE THROWN
java.lang.ClassNotFoundException: ru.CryptoPro.JCSP.JCSPInstaller
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.b(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.a(Unknown Source)
at ru.CryptoPro.JCP.tools.cl_34.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.tools.SelfTester.f(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<init>(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester.<clinit>(Unknown Source)
at ru.CryptoPro.JCP.Random.CertifiedRandom.b(Unknown Source)
at ru.CryptoPro.JCP.Random.CertifiedRandom.a(Unknown Source)
at ru.CryptoPro.JCP.Random.CertifiedRandom.<init>(Unknown Source)
at ru.CryptoPro.JCP.Random.CPRandom.<init>(Unknown Source)
at ru.CryptoPro.JCP.Random.CPRandom.<clinit>(Unknown Source)
at ru.CryptoPro.JCP.Key.SecretKeySpec.<init>(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.TrustStore.a(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.TrustStore.b(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.TrustStore.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at TestProvider_17_12_2021.verifyPDFSignature(TestProvider_17_12_2021.java:29)
at TestProvider_17_12_2021.main(TestProvider_17_12_2021.java:119)

дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref get
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools.SelfTester_external_classNames=null
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester <init>
FINE: SelfTester ctor OK.
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester d
FINE: Start tester thread
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.tools.SelfTester run
FINE: SelfTester run.
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.pref.JCPPref get
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools.UnixMutex_class_pathToLocks=${java.io.tmpdir}\${user.name}
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: ENTRY
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: RETURN
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: ENTRY
дек 20, 2021 10:53:17 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: RETURN
===== NominationRequest[0].#subform[0].SignatureGPN[0] =====
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.SelfTester checkClass
FINE: [main] class: ru.CryptoPro.JCP.Sign.cl_0, URL: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCP.jar
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.SelfTester a
FINE: [main] check URL: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCP.jar
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.TestVerifyClassJar run
FINE: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCP.jar is being checked...
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: ENTRY
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.Key.GostKeyFactory engineGeneratePublic
FINER: RETURN
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (000) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (001) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (002) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (003) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (004) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (005) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (006) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (007) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (008) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_5 <init>
FINE: Reader name is null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_6 <init>
FINE: RutokenStore (009) loaded. Store name null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpecDH2012_512_class_defaultECC2012=null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.pref.JCPPref getOID
CONFIG: System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpec2012_512_class_defaultECC2012=null
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.TestVerifyClassJar run
FINE: file:/C:/Program%20Files/Java/jre1.8.0_311/lib/ext/JCP.jar has been successfully checked.
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40035
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
дек 20, 2021 10:53:18 AM ru.CryptoPro.JCP.Sign.cl_0 engineInitVerify
FINER: ENTRY
java.lang.NullPointerException
at ru.CryptoPro.JCP.Sign.cl_0.engineInitVerify(Unknown Source)
at java.security.Signature.initVerify(Unknown Source)
at com.itextpdf.text.pdf.security.PdfPKCS7.initSignature(PdfPKCS7.java:701)
at com.itextpdf.text.pdf.security.PdfPKCS7.<init>(PdfPKCS7.java:459)
at com.itextpdf.text.pdf.AcroFields.verifySignature(AcroFields.java:2371)
at TestProvider_17_12_2021.verifyPDFSignature(TestProvider_17_12_2021.java:60)
at TestProvider_17_12_2021.main(TestProvider_17_12_2021.java:119)
Signature is Bad
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.