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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Алексей Черенцов  
#1 Оставлено : 5 ноября 2019 г. 7:56:29(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
Здравствуйте.

Не получается произвести чтение из KeyStore. Осуществляю следующим образом:

keyStore = KeyStore.getInstance("RutokenStore", new JCP());
keyStore.load(null, "12345678".toCharArray());
PrivateKey key = (PrivateKey) keyStore.getKey("MGBSign1", "12345678".toCharArray());

Вываливается с ошибкой:
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_NOT_TRANSACTED
at sun.security.smartcardio.PCSC.SCardTransmit(Native Method) ~[na:1.8.0_222]
at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:189)
Caused by: javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: SCARD_E_NOT_TRANSACTED
at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:219) ~[na:1.8.0_222]
at sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:90) ~[na:1.8.0_222]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_0.cl_2.a(Unknown Source) ~[Rutoken.jar:40424]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_1.cl_6.a(Unknown Source) ~[Rutoken.jar:40424]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_1.cl_4.a(Unknown Source) ~[Rutoken.jar:40424]
at ru.CryptoPro.JCP.KeyStore.Rutoken.cl_4.enumExisting(Unknown Source) [Rutoken.jar:40424]
at ru.CryptoPro.JCP.KeyStore.cl_11.run(Unknown Source) [JCP.jar:40424]
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_222]
at ru.CryptoPro.JCP.KeyStore.cl_10.<init>(Unknown Source) [JCP.jar:40424]
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineSize(Unknown Source) [JCP.jar:40424]
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineSize(Unknown Source) [JCP.jar:40424]
at java.security.KeyStore.size(KeyStore.java:1271) [na:1.8.0_222]


Таже самая ошибка идёт если вместо чтения ключа посмотреть keyStore.size() или keyStore.aliases(). При этом с локального хранилища HDImageStore тот же ключ прекрасно читается. А на странице проверки плагина криптопро к браузеру ключом с Рутокена MGBSign1 прекрасно создаётся подпись. В чём может быть дело?

Стоит jcp-2.0.40035, КриптоПро CSP 4.0 R4, pcsc-lite 1.8.23-1.
Offline Санчир Момолдаев  
#2 Оставлено : 5 ноября 2019 г. 9:46:07(UTC)
Санчир Момолдаев

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

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,038
Российская Федерация

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Добрый день!
в параметрах запуска указывали ли путь до библиотеки pcsc? что-то вроде этого:
java -Dsun.security.smartcardio.library=/usr/lib64/libpcsclite.so.1
(ее может там не быть. поэтому надо либо запускать с параметром, либо сделать симлинк этой библиотеки в /usr/lib64 /lib64)

с помощью keytool -list и т.д. видны ли алиасы на токене?
более подробно это написано в эксплуатационной документации (ЖТЯИ...руководство администратора/программиста...pdf)
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей Черенцов  
#3 Оставлено : 5 ноября 2019 г. 11:44:45(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
Спасибо за столь быстрый ответ!

1) libpcsclite в параметрах запуска жавы не указывал. Добавил по текущему пути на диске в виде
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:59017,suspend=y,server=n -Dsun.security.smartcardio.library=/usr/lib/x86_64-linux-gnu/libpcsclite.so.1 -XX:Tie... весь прочий хвост.
Однако ситуация не изменилась, ошибка та же.

2) С помощью утилиты
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn
видны все контейнеры на токене. А вот команда
/usr/lib/jvm/java-8-openjdk-amd64/bin/keytool -list -keystore NONE -storetype rutokenstore
как раз и выдаёт ту же самую ошибку что и java:

ноя 05, 2019 3:38:49 PM ru.CryptoPro.JCSP.MSCAPI.cl_6 enumInstalledProviders
INFO: Provider with type 24 not found.
Enter keystore password:
ноя 05, 2019 3:38:53 PM ru.CryptoPro.JCSP.MSCAPI.cl_6 enumInstalledProviders
INFO: Provider with type 24 not found.
ноя 05, 2019 3:38:53 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40424
ноя 05, 2019 3:38:54 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Keystore type: RUTOKENSTORE
Keystore provider: JCP

ноя 05, 2019 3:38:54 PM ru.CryptoPro.JCP.KeyStore.Rutoken.cl_4 enumExisting
WARNING: ERROR
java.io.IOException: enumExisting -> error during read
at ru.CryptoPro.JCP.KeyStore.Rutoken.cl_4.enumExisting(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.cl_11.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at ru.CryptoPro.JCP.KeyStore.cl_10.<init>(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineSize(Unknown Source)
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineSize(Unknown Source)
at java.security.KeyStore.size(KeyStore.java:1271)
at sun.security.tools.keytool.Main.doPrintEntries(Main.java:2230)
at sun.security.tools.keytool.Main.doCommands(Main.java:1116)
at sun.security.tools.keytool.Main.run(Main.java:366)
at sun.security.tools.keytool.Main.main(Main.java:359)
Caused by: javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: SCARD_E_NOT_TRANSACTED
at sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:219)
at sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:90)

В чём может быть причина в подобной ошибке?
Offline Санчир Момолдаев  
#4 Оставлено : 5 ноября 2019 г. 11:56:53(UTC)
Санчир Момолдаев

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

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,038
Российская Федерация

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Приведите ls -l JRE/lib/ext
Напишите название вашей ОС
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей Черенцов  
#5 Оставлено : 5 ноября 2019 г. 12:07:04(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
1) $ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext
итого 23312
-rw-r--r-- 1 root root 149510 ноя 1 15:34 AdES-core.jar
-rw-r--r-- 1 root root 995612 ноя 1 15:34 ASN1P.jar
-rw-r--r-- 1 root root 255985 ноя 1 15:34 asn1rt.jar
-rw-rw-r-- 1 cab cab 598674 июл 5 17:49 bcpkix-jdk15on-1.50.jar
-rw-rw-r-- 1 cab cab 2732684 июл 5 17:49 bcprov-jdk15on-1.50.jar
-rw-r--r-- 1 root root 177411 ноя 1 15:34 CAdES.jar
-rw-r--r-- 1 root root 3861283 июл 19 01:52 cldrdata.jar
-rw-r--r-- 1 root root 60686 окт 18 16:06 commons-logging-1.1.1.jar
-rw-r--r-- 1 root root 345757 ноя 1 15:34 cpSSL.jar
-rw-r--r-- 1 root root 8281 июл 19 01:52 dnsns.jar
-rw-r--r-- 1 root root 347595 ноя 1 15:34 forms_rt.jar
-rw-r--r-- 1 root root 424648 окт 18 16:06 httpclient-4.2.jar
-rw-r--r-- 1 root root 223282 окт 18 16:06 httpcore-4.2.jar
-rw-r--r-- 1 root root 70333 июл 19 01:52 icedtea-sound.jar
-rw-r--r-- 1 root root 27569 ноя 1 15:34 J6CF.jar
-rw-r--r-- 1 root root 31535 ноя 1 15:34 J6Oscar.jar
-rw-r--r-- 1 root root 44511 июл 19 01:52 jaccess.jar
lrwxrwxrwx 1 root root 49 июл 19 01:52 java-atk-wrapper.jar -> ../../../../../../share/java/java-atk-wrapper.jar
-rw-r--r-- 1 root root 156450 ноя 1 15:34 JCPControlPane.jar
-rw-r--r-- 1 root root 48864 ноя 1 15:34 JCPinst.jar
-rw-r--r-- 1 root root 822267 ноя 1 15:34 JCP.jar
-rw-r--r-- 1 root root 109644 ноя 1 15:34 JCPRequest.jar
-rw-r--r-- 1 root root 100967 ноя 1 15:34 JCPRevCheck.jar
-rw-r--r-- 1 root root 261922 ноя 1 15:34 JCPRevTools.jar
-rw-r--r-- 1 root root 30651 ноя 1 15:34 JCPxml.jar
-rw-r--r-- 1 root root 66908 ноя 1 15:34 JCryptoP.jar
-rw-r--r-- 1 root root 3430008 ноя 1 15:36 JCSP.jar
-rw-r--r-- 1 root root 37875 окт 18 16:06 json-20080701.jar
-rw-r--r-- 1 root root 121658 окт 18 16:06 junit-3.8.jar
lrwxrwxrwx 1 root root 53 июл 19 01:52 libatk-wrapper.so -> ../../../../../x86_64-linux-gnu/jni/libatk-wrapper.so
-rw-r--r-- 1 root root 1179121 июл 19 01:52 localedata.jar
-rw-r--r-- 1 root root 2033553 июл 19 01:52 nashorn.jar
-rw-r--r-- 1 root root 44685 ноя 1 15:34 Rutoken.jar
-rw-r--r-- 1 root root 276420 окт 18 16:06 serializer-2.7.2.jar
-rw-r--r-- 1 root root 56308 июл 19 01:52 sunec.jar
-rw-r--r-- 1 root root 265902 июл 19 01:52 sunjce_provider.jar
-rw-r--r-- 1 root root 244613 июл 19 01:52 sunpkcs11.jar
-rw-r--r-- 1 root root 171977 ноя 1 15:34 XAdES.jar
-rw-r--r-- 1 root root 3154938 окт 18 16:06 xalan-2.7.2.jar
-rw-r--r-- 1 root root 158411 ноя 1 15:34 XMLDSigRI.jar
-rw-r--r-- 1 root root 604531 окт 18 16:06 xmlsec-1.5.0.jar
-rw-r--r-- 1 root root 68969 июл 19 01:52 zipfs.jar

2) $ lsb_release -a
LSB Version: core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
Offline Алексей Черенцов  
#6 Оставлено : 5 ноября 2019 г. 12:58:28(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
Да и запрос посредством keytool по ключам на жёстком диске - корректно отрабатывает:

$ /usr/lib/jvm/java-8-openjdk-amd64/bin/keytool -list -keystore NONE -storepass changeit -storetype HDImageStore
ноя 05, 2019 4:55:16 PM ru.CryptoPro.JCSP.MSCAPI.cl_6 enumInstalledProviders
INFO: Provider with type 24 not found.
ноя 05, 2019 4:55:16 PM ru.CryptoPro.JCSP.MSCAPI.cl_6 enumInstalledProviders
INFO: Provider with type 24 not found.
ноя 05, 2019 4:55:16 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40424
ноя 05, 2019 4:55:17 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Keystore type: HDIMAGESTORE
Keystore provider: JCP

Your keystore contains 29 entries

PSBSign2_copy, 17.10.2019, PrivateKeyEntry,
Certificate fingerprint (SHA1): DE:2B:E0:B7:FA:9A:1E:DA:B7:79:BF:19:32:C8:B7:BD:4A:16:9E:E0
RB1Sign2, 25.10.2019, PrivateKeyEntry,
Certificate fingerprint (SHA1): CF:F6:FC:64:38:F6:0F:2F:77:49:E7:FA:F5:7E:3D:C2:EE:01:22:0F
........
Offline Санчир Момолдаев  
#7 Оставлено : 5 ноября 2019 г. 13:25:08(UTC)
Санчир Момолдаев

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

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,038
Российская Федерация

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Укажите пожалуйста вашу модель токена
Техническую поддержку оказываем тут
Наша база знаний
Offline Санчир Момолдаев  
#8 Оставлено : 5 ноября 2019 г. 22:04:42(UTC)
Санчир Момолдаев

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

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,038
Российская Федерация

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
на стенде не воспроизводится. ос, сборка jcp как у вас.
получаем доступ к ключу и подписываем им.
может что-то со smartcardio?
попробуйте скачать еще один jdk. я использовал jdk-8u211. установить туда jcp. возьмите поновее. к примеру JCP R3
Техническую поддержку оказываем тут
Наша база знаний
Offline Алексей Черенцов  
#9 Оставлено : 6 ноября 2019 г. 10:46:05(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
1) Попробовал следующий вариант. Сменил версию java на openjdk 11.0.4.
Так же использовал jcp-2.0.40450-A, java-csp-5.0.40363-A.
В /etc/java-11-openjdk/security/java.security прописал:

security.provider.13=JCP
security.provider.14=RevCheck
security.provider.15=Crypto

На всякий случай переустановил пакет с java-сертификатами ca-certificates-java и поставил туда корневой сертификат (CN=CRYPTO-PRO Test Center 2).
Однако точно также после загрузки кейсторе
keyStore.load(null, STORE_PASSWORD.toCharArray())
при любой попытке обратится к нему (keyStore.size(), keyStore.aliases(), keyStore.getCertificate(alias)) вываливается та же ошибка:

Caused by: javax.smartcardio.CardException: sun.security.smartcardio.PCSCException: SCARD_E_NOT_TRANSACTED
at java.smartcardio/sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:219) ~[java.smartcardio:na]
at java.smartcardio/sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:89) ~[java.smartcardio:na]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_0.cl_2.a(Unknown Source) ~[Rutoken.jar:40450-A]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_1.cl_6.a(Unknown Source) ~[Rutoken.jar:40450-A]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_1.cl_4.a(Unknown Source) ~[Rutoken.jar:40450-A]
at ru.CryptoPro.JCP.KeyStore.Rutoken.pc_1.cl_4.a(Unknown Source) ~[Rutoken.jar:40450-A]
... 71 common frames omitted
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_NOT_TRANSACTED
at java.smartcardio/sun.security.smartcardio.PCSC.SCardTransmit(Native Method) ~[java.smartcardio:na]
at java.smartcardio/sun.security.smartcardio.ChannelImpl.doTransmit(ChannelImpl.java:189) ~[java.smartcardio:na]
... 76 common frames omitted

При этом на странице cryptopro.ru/sites/default/files/products/cades/demopage/cades_bes_sample.html продолжает прекрастно подписывать.

2) токен у меня Rutoken-S:
$ pcsc_scan
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: Aktiv Co. Rutoken S 00 00
Offline Алексей Черенцов  
#10 Оставлено : 6 ноября 2019 г. 11:36:28(UTC)
Алексей Черенцов

Статус: Активный участник

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

Сказал(а) «Спасибо»: 14 раз
Получилось сформировать подпись!

Удалил пакеты:
ifd-rutokens
cprocsp-rdr-rutoken-64
Заново установил:
ifd-rutokens

И всё зарабло! Уф. Спасибо огромное за помощь и мысли куда копать. Не ожидал стой активной и неравнодушной поддержки. Ещё раз спасибо.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.