Статус: Активный участник
Группы: Участники
Зарегистрирован: 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.
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Добрый день! в параметрах запуска указывали ли путь до библиотеки pcsc? что-то вроде этого: java -Dsun.security.smartcardio.library=/usr/lib64/libpcsclite.so.1 (ее может там не быть. поэтому надо либо запускать с параметром, либо сделать симлинк этой библиотеки в /usr/lib64 /lib64)
с помощью keytool -list и т.д. видны ли алиасы на токене? более подробно это написано в эксплуатационной документации (ЖТЯИ...руководство администратора/программиста...pdf) |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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)
В чём может быть причина в подобной ошибке?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Приведите ls -l JRE/lib/ext Напишите название вашей ОС |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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 ........
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Укажите пожалуйста вашу модель токена |
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
на стенде не воспроизводится. ос, сборка jcp как у вас. получаем доступ к ключу и подписываем им. может что-то со smartcardio? попробуйте скачать еще один jdk. я использовал jdk-8u211. установить туда jcp. возьмите поновее. к примеру JCP R3 |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.10.2019(UTC) Сообщений: 56  Откуда: Новосибирск Сказал(а) «Спасибо»: 14 раз
|
Получилось сформировать подпись!
Удалил пакеты: ifd-rutokens cprocsp-rdr-rutoken-64 Заново установил: ifd-rutokens
И всё зарабло! Уф. Спасибо огромное за помощь и мысли куда копать. Не ожидал стой активной и неравнодушной поддержки. Ещё раз спасибо.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close