Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2024(UTC) Сообщений: 5
|
Здравствуйте. Подскажите пожалуйста возможно ли настроить JCP с Java 11 так, чтобы готовые приложения видели провайдер ru.CryptoPro.JCP.JCP?
Установлено JRE 11. Развернуто JCP jcp-2.0.41940-A.zip В /etc/java-11-openjdk/security/java.security
security.provider.1=SUN security.provider.2=SunRsaSign security.provider.3=SunEC security.provider.4=SunJSSE security.provider.5=SunJCE security.provider.6=SunJGSS security.provider.7=SunSASL security.provider.8=XMLDSig security.provider.9=SunPCSC security.provider.10=JdkLDAP security.provider.11=JdkSASL security.provider.12=SunPKCS11 security.provider.13=ru.CryptoPro.JCP.JCP security.provider.14=ru.CryptoPro.reprov.RevCheck security.provider.15=ru.CryptoPro.Crypto.CryptoProvider
в /etc/profile.d/java.sh export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
запустил configure.sh из папки JCP
В папку /var/opt/cprocsp/keys/root положил папку с ключами root@app1:/var/opt/cprocsp/keys/root/o7jok63u.000# ls header.key masks2.key masks.key name.key primary2.key primary.key
Все запускаю из под root
Вот такой тест проходит:
root@app1:/etc/profile.d# java ComLine.CheckConfFull нояб. 01, 2024 3:32:27 PM ComLine.CheckConfFull main INFO: JCP only: false нояб. 01, 2024 3:32:27 PM ru.CryptoPro.ssl.Provider b INFO: JCP license isServer: true нояб. 01, 2024 3:32:27 PM ru.CryptoPro.ssl.Provider b INFO: JCP license isServer: true нояб. 01, 2024 3:32:27 PM ComLine.CheckConfFull checkProviders INFO: Provider JCSP not installed нояб. 01, 2024 3:32:27 PM ru.CryptoPro.JCP.tools.Starter <init> INFO: Loading JCP 2.0.41940-A нояб. 01, 2024 3:32:27 PM ru.CryptoPro.JCP.tools.Starter <init> INFO: JCP has been loaded. нояб. 01, 2024 3:32:28 PM ComLine.CheckConfFull deleteContainers INFO: Prepare containers нояб. 01, 2024 3:32:28 PM ComLine.CheckConfFull gen INFO: Prepare containers нояб. 01, 2024 3:32:28 PM ComLine.CheckConfFull gen INFO: *** Check JCP key pair generation on GOST3410EL with signature algorithm GOST3411withGOST3410EL and writing to store нояб. 01, 2024 3:32:28 PM ComLine.CheckConfFull keyGen INFO: *** Generate key pair using algorithm GOST3410EL of provider JCP Нажимайте Enter или введите ESC для отмены ^Croot@app1:/etc/profile.d# root@app1:/etc/profile.d#
root@app1:/etc/profile.d# java ru.CryptoPro.JCP.tools.License Проверка лицензии: Тип: Серверная, подпись и шифрование Допустимое число ядер: Неограниченное Серийный номер: CF20X-X0030-00BAA-1F Время действия: До 29 янв. 2025 г. Действительная лицензия.
А keytool ругается.
root@app1:/etc/profile.d# keytool -list -providername ru.CryptoPro.JCP.JCP -storetype HDImageStore -keystore NONE -storepass 1 keytool error: java.security.NoSuchProviderException: no such provider: ru.CryptoPro.JCP.JCP
И аналогично ругается прикладной софт.
Caused by: ru.voskhod.crypto.exceptions.ProviderCreationException: ru.CryptoPro.JCP.JCP at ru.voskhod.crypto.util.crypto.CryptoUtil.loadProvider(CryptoUtil.java:118) at ru.voskhod.crypto.factory.provider.jcp.JCPKeyStoreProviderWrapper.getProvider(JCPKeyStoreProviderWrapper.java:26) at ru.voskhod.crypto.util.crypto.CryptoUtil.getProvider(CryptoUtil.java:46) ... 92 common frames omitted Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.JCP.JCP at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at ru.voskhod.crypto.util.crypto.CryptoUtil.loadProvider(CryptoUtil.java:114)
Это готовый продукт, я не могу изменить его код.
На Java 8 все работало. Но необходимо запуститься на Java 11.
Заранее благодарен
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Здравствуйте. Цитата: security.provider.13=ru.CryptoPro.JCP.JCP security.provider.14=ru.CryptoPro.reprov.RevCheck security.provider.15=ru.CryptoPro.Crypto.CryptoProvider
запишите как Цитата: security.provider.13=JCP security.provider.14=RevCheck security.provider.15=Crypto
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2024(UTC) Сообщений: 5
|
Поправил. На вид ничего не изменилось
Caused by: ru.voskhod.crypto.exceptions.ProviderCreationException: ru.CryptoPro.JCP.JCP at ru.voskhod.crypto.util.crypto.CryptoUtil.loadProvider(CryptoUtil.java:118) at ru.voskhod.crypto.factory.provider.jcp.JCPKeyStoreProviderWrapper.getProvider(JCPKeyStoreProviderWrapper.java:26) at ru.voskhod.crypto.util.crypto.CryptoUtil.getProvider(CryptoUtil.java:46) ... 94 common frames omitted Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.JCP.JCP at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at ru.voskhod.crypto.util.crypto.CryptoUtil.loadProvider(CryptoUtil.java:114) ... 96 common frames omitted 01-11-2024 16:55:38.041 [http-nio-8085-exec-1] INFO r.r.s.a.i.i.i.l.SettingsBasedHandlerLoader - ServletRequestHandledEvent: url=[/rs/crypto/validation/signer]; cl$
root@app1:/user/sa/logs# keytool -list -providername JCP -storetype HDImageStore -keystore NONE -storepass 1 keytool error: java.security.NoSuchProviderException: no such provider: JCP root@app1:/user/sa/logs# keytool -list -providername ru.CryptoPro.JCP.JCP -storetype HDImageStore -keystore NONE -storepass 1 keytool error: java.security.NoSuchProviderException: no such provider: ru.CryptoPro.JCP.JCP
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Команды keytool тоже могут отличаться для Java 8 и 11+, посмотрите в рук-вах администратора и разработчика в дистрибутиве в папке Doc. Там же есть примеры (bat, sh) с командами в папке Doc/keytool. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2024(UTC) Сообщений: 5
|
Ну параметры keytool я подобрал. Но записи в /etc/java-11-openjdk/security/java.security вообще никак не влияют.
root@app1:/etc/java-11-openjdk/security# keytool -list -J-Dkeytool.compat=true -J-Duse.cert.stub=true -providerpath xxx -providerClass ru.CryptoPro.JCP.JCP -storetype HDImageStore -keystore NONE -storepass 1 нояб. 01, 2024 10:15:47 PM ru.CryptoPro.JCP.tools.Starter <init> INFO: Loading JCP 2.0.41940-A нояб. 01, 2024 10:15:47 PM ru.CryptoPro.JCP.tools.Starter <init> INFO: JCP has been loaded. Keystore type: HDIMAGESTORE Keystore provider: JCP
Your keystore contains 2 entries
jcptestsignkey_2001, 1 нояб. 2024 г., PrivateKeyEntry, Certificate fingerprint (SHA-256): FE:A0:6F:AE:48:52:B4:7B:20:08:DF:70:69:8B:4B:D6:AA:B3:2D:F3:A0:FA:25:9D:C2:24:5C:73:12:35:CE:EA o7jok63u, 1 нояб. 2024 г., PrivateKeyEntry, Certificate fingerprint (SHA-256): F2:D2:69:98:EE:47:49:4E:79:52:CF:B8:2B:20:92:B0:77:97:5F:D8:28:8B:BB:EB:E1:AC:80:A8:21:12:1A:91
При этом в -providerpath можно вписать любые буквы, но без него не работает.
Но все это не помогает решить проблему с прикладным софтом. Он как не видел провайдера так и не видит. Я не понимаю как прикладной софт ищет провайдер? Чисто по classpath?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,190 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
Цитата:Чисто по classpath да. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 31.10.2024(UTC) Сообщений: 5
|
Ну вот к сожалению, с Java 8 все работает сразу. А с Java 11 не понятно, чего хочет
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Автор: eltsov_da -providerpath xxx Что находится в xxx? Так запускали в рабочей папке с распакованным дистрибутивом в *nix (здесь разделитель ":", в Windows разделитель - ";") Автор: eltsov_da keytool -J-Dkeytool.compat=true -providerpath ./JCP.jar:./ASN1P.jar:./asn1rt.jar:./forms_rt.jar -list -provider ru.CryptoPro.JCP.JCP -storetype HDImageStore -keystore NONE -storepass 1
? Отредактировано пользователем 18 ноября 2024 г. 11:51:51(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close