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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline jaguar_excessive  
#1 Оставлено : 27 сентября 2022 г. 14:12:19(UTC)
jaguar_excessive

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

Группы: Участники
Зарегистрирован: 27.01.2022(UTC)
Сообщений: 5
Российская Федерация
Откуда: Кемерово г.

Сказал(а) «Спасибо»: 1 раз
Доброго времени суток!


Вопрос такой:
У нас закончился закрытый ключ, и нам выдали новый в формате pfx.
Средствами crypto pro csp на виндовс удалось экспортировать из pfx формата в формат закрытого ключа (папка с XXXXXXXX.000).
При работе с pfx я сначала установил сертификат реестр/личное, было выбрано локальный компьютер и пометить как экспортируемый, также был установлен запрашиваемый пароль.

Далее я с флешки скопировал ключ на сервер /var/opt/cprocsp/keys/username/.

Убедился, что JCP видит его командой:
Цитата:
/opt/jdk1.8.0_202/bin/keytool -list -providername JCP -storetype HDImageStore -keystore NONE -storepass 1

Цитата:
Sep 27, 2022 5:51:03 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40502
Sep 27, 2022 5:51:03 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Keystore type: HDIMAGESTORE
Keystore provider: JCP

Your keystore contains 1 entry

XXXXXXXXXXXXX XXXXXXXXX, Sep 26, 2022, PrivateKeyEntry,

Вместо X там цифры.

Далее в программе liferay в пропертях установил вот этот алиас XXXXXXXXXXXXX XXXXXXXXX и пароль который задавал при экспорте.
А программе выдает следущие:
Цитата:
ru.voskhod.smev.client.api.types.exception.SMEVRuntimeException: Not initialized!
at ru.voskhod.smev.client.api.signature.impl.SignerImpl.check(SignerImpl.java:136)
at ru.voskhod.smev.client.api.signature.impl.SignerImpl.signXMLDSigDetached(SignerImpl.java:116)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.sign(WSTemplateImpl.java:603)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.getRequest(WSTemplateImpl.java:270)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.get(WSTemplateImpl.java:257)
at ru.voskhod.smev.client.api.template.impl.TemplateImpl.getRequestMessage(TemplateImpl.java:249)
at ru.isands.smev3processor.smev3.SMEV3Processor.getRequest(SMEV3Processor.java:169)
at ru.isands.smev3processor.smev3.SMEV3Processor.getRequests(SMEV3Processor.java:138)
at ru.isands.smev3processor.listener.GetRequestListener.receive(GetRequestListener.java:14)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:72)
at com.liferay.portal.kernel.messaging.SerialDestination$1.run(SerialDestination.java:67)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
at java.lang.Thread.run(Thread.java:748)



Далее выполнил проверку /opt/jdk1.8.0_202/jre/bin/java ru.CryptoPro.JCP.tools.Check -all.

Цитата:
INFO: Loading JCP 2.0.40502
Sep 27, 2022 5:54:56 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Sep 27, 2022 5:54:56 PM ru.CryptoPro.JCP.tools.Check all
INFO:
Linux; unknown; 5.4.0-86-generic
4 proc.; amd64

Java(TM) SE Runtime Environment; 1.8.0_202-b08
1.8.0_202; Oracle Corporation; http://java.oracle.com/
Java Virtual Machine Specification; 1.8; Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM; 25.202-b08; mixed mode; Oracle Corporation
Java Platform API Specification; 1.8; Oracle Corporation
Java class format version number: 52.0
JIT: null

System Preferences - ok
User Preferences - ok

-PREFERENCES-
*** SYSTEM PREFERENCES ***
ru.CryptoPro.JCP.JCP:
preftest = ok
ru.CryptoPro.JCP.ControlPane.JCPDialog:
ru.CryptoPro.JCP.Key.PrivateKeySpec:
ru.CryptoPro.JCP.Key.PublicKeySpec:
ru.CryptoPro.JCP.KeyStore.HDImage.cl_1:
ru.CryptoPro.JCP.KeyStore.HDImage.HDImageReader:
ru.CryptoPro.JCP.params.AlgIdSpec:
ru.CryptoPro.JCP.params.CryptParamsSpec:
ru.CryptoPro.JCP.params.DigestParamsSpec:
ru.CryptoPro.JCP.params.EllipticParamsSpec:
ru.CryptoPro.JCP.params.EllipticParamsSpecDH:
ru.CryptoPro.JCP.Random.AbstractBioRandom:
Used BIORandom = ru.CryptoPro.JCP.Random.BioRandomConsole
ru.CryptoPro.JCP.Random.CertifiedRandom:
Used BIORandom = ru.CryptoPro.JCP.Random.BioRandomConsole
ru.CryptoPro.JCP.tools.CPVerify.DigestStoreReg:
ru.CryptoPro.JCP.tools.CPVerify.DigestStoreDefault:
ru.CryptoPro.JCP.tools.CertReader.ExtendedCerReader:
ru.CryptoPro.JCP.tools.SelfTester:
License_class_license_2_0 = AAAAGdCe0J7QniDQn9GA0L7RgdC40YHRgtC10LwAHUNGMjBGLTIwMDAwLTAwV0VXLVcwRFFULTg5QllH
SelfTester_jar_names = ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller
ru.CryptoPro.JCP.tools.AbstractLicense:
License_class_license_2_0 = AAAAGdCe0J7QniDQn9GA0L7RgdC40YHRgtC10LwAHUNGMjBGLTIwMDAwLTAwV0VXLVcwRFFULTg5QllH
SelfTester_jar_names = ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller
ru.CryptoPro.JCP.tools.License:
License_class_license_2_0 = AAAAGdCe0J7QniDQn9GA0L7RgdC40YHRgtC10LwAHUNGMjBGLTIwMDAwLTAwV0VXLVcwRFFULTg5QllH
SelfTester_jar_names = ru.CryptoPro.JCP.Install.JCPInstaller;ru.CryptoPro.Crypto.JCryptoPInstaller
ru.CryptoPro.JCP.ControlPane.MainControlPaneConfig:
ru.CryptoPro.JCP.ASN.PKIX1Explicit88._PKIX1Explicit88Values:
ru.CryptoPro.JCP.ASN.CertificateExtensions._CertificateExtensionsValues:
ru.CryptoPro.Crypto.CryptoProvider:
ru.CryptoPro.reprov.RevCheck:
*** USER PREFERENCES ***
ru.CryptoPro.JCP.JCP:
preftest = ok
ru.CryptoPro.JCP.ControlPane.JCPDialog:
ru.CryptoPro.JCP.Random.AbstractBioRandom:
CertifiedRandom_class_RandomSeed = AgEAAAsAAAD+HhNPKSLRqsPqLl9riIxiF/OEG4klypBe2Ye9FBif5gqC7Eo+AygXJmdoeilMYKY=
ru.CryptoPro.JCP.Random.CertifiedRandom:
CertifiedRandom_class_RandomSeed = AgEAAAsAAAD+HhNPKSLRqsPqLl9riIxiF/OEG4klypBe2Ye9FBif5gqC7Eo+AygXJmdoeilMYKY=
ru.CryptoPro.JCP.ControlPane.MainControlPaneConfig:
ru.CryptoPro.Crypto.CryptoProvider:
ru.CryptoPro.reprov.RevCheck:

-SYSTEM PROPERTIES-
java.runtime.name Java(TM) SE Runtime Environment
sun.boot.library.path /opt/jdk1.8.0_202/jre/lib/amd64
java.vm.version 25.202-b08
java.vm.vendor Oracle Corporation
java.vendor.url http://java.oracle.com/
path.separator :
java.vm.name Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg sun.io
user.country US
sun.java.launcher SUN_STANDARD
sun.os.patch.level unknown
java.vm.specification.name Java Virtual Machine Specification
user.dir /home/mirit
java.runtime.version 1.8.0_202-b08
java.awt.graphicsenv sun.awt.X11GraphicsEnvironment
java.endorsed.dirs /opt/jdk1.8.0_202/jre/lib/endorsed
os.arch amd64
java.io.tmpdir /tmp
line.separator

java.vm.specification.vendor Oracle Corporation
os.name Linux
sun.jnu.encoding UTF-8
java.library.path /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.specification.name Java Platform API Specification
java.class.version 52.0
sun.management.compiler HotSpot 64-Bit Tiered Compilers
os.version 5.4.0-86-generic
user.home
user.timezone
java.awt.printerjob sun.print.PSPrinterJob
file.encoding UTF-8
java.specification.version 1.8
java.class.path .
user.name s
java.vm.specification.version 1.8
sun.java.command ru.CryptoPro.JCP.tools.Check -all
java.home /opt/jdk1.8.0_202/jre
sun.arch.data.model 64
user.language en
java.specification.vendor Oracle Corporation
awt.toolkit sun.awt.X11.XToolkit
java.vm.info mixed mode
java.version 1.8.0_202
java.ext.dirs /opt/jdk1.8.0_202/jre/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path /opt/jdk1.8.0_202/jre/lib/resources.jar:/opt/jdk1.8.0_202/jre/lib/rt.jar:/opt/jdk1.8.0_202/jre/lib/sunrsasign.jar:/opt/jdk1.8.0_202/jre/lib/jsse.jar:/opt/jdk1.8.0_202/jre/lib/jce.jar:/opt/jdk1.8.0_202/jre/lib/charsets.jar:/opt/jdk1.8.0_202/jre/lib/jfr.jar:/opt/jdk1.8.0_202/jre/classes
java.vendor Oracle Corporation
file.separator /
java.vendor.url.bug http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding UnicodeLittle
sun.cpu.endian little
sun.cpu.isalist


-PROVIDERS-
prov[0] = SUN version 1.8
prov[1] = SunRsaSign version 1.8
prov[2] = SunEC version 1.8
prov[3] = SunJSSE version 1.8
prov[4] = SunJCE version 1.8
prov[5] = SunJGSS version 1.8
prov[6] = SunSASL version 1.8
prov[7] = XMLDSig version 1.8
prov[8] = SunPCSC version 1.8
prov[9] = RevCheck version 2.0
prov[10] = JCP version 2.0
prov[11] = Crypto version 2.0

-JAR VERSIONS-
/opt/jdk1.8.0_202/jre/lib/ext/asn1rt.jar build 0.0.0 version 0.0
/opt/jdk1.8.0_202/jre/lib/ext/ASN1P.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/forms_rt.jar build 0.0.0 version 0.0
/opt/jdk1.8.0_202/jre/lib/ext/JCP.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/JCPinst.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/JCPRequest.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/JCPxml.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/JCryptoP.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/XMLDSigRI.jar build 40502 version 2.0
/opt/jdk1.8.0_202/jre/lib/ext/JCPRevCheck.jar build 40502 version 2.0

-JCP LICENSE-
company: ООО Просистем
type: server; sign and encrypt
number: XXXXXXXXX
end date: Permanent

-TESTS-
JCP - ok
Crypto - ok
JTLS not installed
JCSP not installed
Get JCP System Preferences - ok
Get JCP User Preferences - ok




Обратился к поставщику программы liferay, они говорят что с ключом что-то не так: либо проблема с паролем, либо с методом создания контейнера.
Прошу вас подсказать правильно ли создал ключ?
Offline Евгений Афанасьев  
#2 Оставлено : 27 сентября 2022 г. 20:26:33(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Скорее всего, в полученном после экспорта из PFX ключевом контейнере нет сертификата, см. https://github.com/Hiber...ure/impl/SignerImpl.java
Код:

private void check() throws SMEVRuntimeException {
    if (this.privateKey == null || this.certificate == null) { <--------
        throw new SMEVRuntimeException("Not initialized!");
    }
}

Такое возможно. Надо дополнительно установить отдельно лежащий сертификат (например, извлечь его из хранилища MY после установки PFX) в полученный ключевой контейнер.
Offline jaguar_excessive  
#3 Оставлено : 29 сентября 2022 г. 10:13:41(UTC)
jaguar_excessive

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

Группы: Участники
Зарегистрирован: 27.01.2022(UTC)
Сообщений: 5
Российская Федерация
Откуда: Кемерово г.

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Я сделал следующе с помощью винды согласно информации из этой ветке: https://www.cryptopro.ru...aspx?g=posts&t=15189
Далее я скопировал XXXXXXXX.000 в хранилище linux и все равно получаю ошибку
Цитата:
```ru.voskhod.smev.client.api.types.exception.SMEVRuntimeException: Not initialized!
at ru.voskhod.smev.client.api.signature.impl.SignerImpl.check(SignerImpl.java:136)
at ru.voskhod.smev.client.api.signature.impl.SignerImpl.signXMLDSigDetached(SignerImpl.java:116)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.sign(WSTemplateImpl.java:603)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.getRequest(WSTemplateImpl.java:270)
at ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl.get(WSTemplateImpl.java:257)
at ru.voskhod.smev.client.api.template.impl.TemplateImpl.getRequestMessage(TemplateImpl.java:249)
at ru.isands.smev3processor.smev3.SMEV3Processor.getRequest(SMEV3Processor.java:169)
at ru.isands.smev3processor.smev3.SMEV3Processor.getRequests(SMEV3Processor.java:138)
at ru.isands.smev3processor.listener.GetRequestListener.receive(GetRequestListener.java:14)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:72)
at com.liferay.portal.kernel.messaging.SerialDestination$1.run(SerialDestination.java:67)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
at java.lang.Thread.run(Thread.java:748)


Мне удалось запустить графическую оболочку JCP. C помощью нее проверил что сертификат в контейнере есть!
1.png (18kb) загружен 7 раз(а).
Не совсем понимаю почему програма не может проиницилизироваться.

Отредактировано пользователем 29 сентября 2022 г. 10:16:14(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.