Партнер
Артикул: KP-JavaTLS
Код товара: 352894
Произведено: —
Гарантия на отсутствие дефектов на момент продажи
В сервисном центре производителяПри предъявлении документа о покупке
Заказ данного товара в настоящий момент невозможен. |
КриптоПро JavaTLS предназначен для поддержки защищенного обмена данными в Internet, на основе криптопровайдеров КриптоПро JCP или КриптоПро Java CSP.?Этот продукт реализует SSL и TLS протоколы и содержит функции шифрования, контроля целостности, аутентификации сервера и клиента на основе российских стандартов. Использование КриптоПро JTLS позволяет разработчику осуществить защищенную передачу данных по таким протоколам как HTTP, Telnet, FTP, TCP/IP.?JavaTLS реализован в стандартном интерфейсе JSSE.
1estart Оставлено | |
Есть файлик, в котором лежит закодированный GostCertificateRequest в виде массива байт Может, ошибаюсь, но первая переменная в getEncodedCertFromDER – это адрес УЦ. | |
КриптоПро JCP – средство криптографической защиты информации, разработанное в соответствии со спецификацией JCA (Java Cryptography Architecture) и реализующее российские криптографические стандарты
Интеграция КриптоПро JCP с архитектурой Java позволяет использовать стандартные процедуры, такие как создание и проверка ЭЦП (в том числе XMLdsig, CAdES, XAdE), шифрование, генерацию ключей, вычисление кодов аутентификации в JavaTM Cryptography Extension в соответствии со спецификациями Java Cryptography Extension (JCE) на различных операционных системах и аппаратных платформах
Купить КриптоПро JavaTLS в интернет-магазине: Внимание! В интернет-магазине представлены наиболее популярные варианты поставки лицензий КриптоПро JavaTLS. Если вам нужна другая позиция/версия, полный прайс-лист, у вас большой заказ, в заявке есть другое ПО, вопросы по ценам/скидкам и т.п., вы можете написать нашему ОНЛАЙН-КОНСУЛЬТАНТУ, оформить ЗАПРОС или связаться любым удобным способом. Приятных покупок на SNABSOFT.ru! <!– Сортировать по ID товара +/- Производитель: КриптоПро –> |
Содержание
КриптоПро JavaTLS версии 2.0 на одном сервереАртикул: cryptoPro_id_0090
НДС (20%): Тип лицензии: Срок лицензии: Тип поставки: Срок комплектации (раб. дней): <!– Описание товара –> |
tuxnsk Оставлено | |
День добрый, вопрос наверно глупый, но не могу победить, и в поиске не вижу, опыта в Java мало. security.provider.14=JCP Библиотеки валяются в папке с приложением, компилю его так: javac -cp jcp-2.0.41940-A\JCP.jar App.java Код: Код:
Запускаю так: java App Пишет что не видит провайдера JCP: Exception in thread “main” java.security.NoSuchProviderException: no such provider: JCP С чем это связано? | |
tuxnsk Оставлено | |
Сам победил 🙂 Надо было добавить провайдера самому в коде: Security.addProvider(new JCP()); Почему-то в доках про это не сказано… ну и после этого ругается что не находит какие-то классы, поэтому компилил так: javac -cp jcp-2.0.41940-A\* App.java а запускал так: java -cp jcp-2.0.41940-A\*;. App | |
КриптоПро JCP – средство криптографической защиты информации, разработанное в соответствии со спецификацией JCA (Java Cryptography Architecture) и реализующее российские криптографические стандарты
Интеграция КриптоПро JCP с архитектурой Java позволяет использовать стандартные процедуры, такие как создание и проверка ЭЦП (в том числе XMLdsig, CAdES, XAdE), шифрование, генерацию ключей, вычисление кодов аутентификации в JavaTM Cryptography Extension в соответствии со спецификациями Java Cryptography Extension (JCE) на различных операционных системах и аппаратных платформах
✅ Купите Крипто-Про КриптоПро JavaTLS (сертификат на расширенную круглосуточную техническую поддержку), на 1 год на официальном сайте
✅ Лицензия Крипто-Про КриптоПро JavaTLS (сертификат на расширенную круглосуточную техническую поддержку), на 1 год по выгодной цене
✅ Крипто-Про КриптоПро JavaTLS (сертификат на расширенную круглосуточную техническую поддержку), на 1 год, лицензионное программное обеспечение купите в Москве и других городах России
Предлагаем также:
- Лицензии Крипто-Про JCP купить по цене от 500 руб.
- Лицензии на продукты категории Защита информации купить по цене от 1200 руб.
- Лицензии на продукты категории Антивирусы и безопасность купить по цене от 1 руб.
КриптоПро JCP – средство криптографической защиты информации, разработанное в соответствии со спецификацией JCA (Java Cryptography Architecture) и реализующее российские криптографические стандарты
Интеграция КриптоПро JCP с архитектурой Java позволяет использовать стандартные процедуры, такие как создание и проверка ЭЦП (в том числе XMLdsig, CAdES, XAdE), шифрование, генерацию ключей, вычисление кодов аутентификации в JavaTM Cryptography Extension в соответствии со спецификациями Java Cryptography Extension (JCE) на различных операционных системах и аппаратных платформах
Лицензии поставляются только в бумажном виде! Установочный комплект включает диск и бумажный формуляр.
✅ Купите Крипто-Про JCP (лицензия), лицензия JavaTLS версии 2.0 на одном сервере на официальном сайте
✅ Лицензия Крипто-Про JCP (лицензия), лицензия JavaTLS версии 2.0 на одном сервере по выгодной цене
✅ Крипто-Про JCP (лицензия), лицензия JavaTLS версии 2.0 на одном сервере, лицензионное программное обеспечение купите в Москве и других городах России
Предлагаем также:
- Лицензии Крипто-Про JCP купить по цене от 500 руб.
- Лицензии на продукты категории Защита информации купить по цене от 1200 руб.
- Лицензии на продукты категории Антивирусы и безопасность купить по цене от 1 руб.
biff Оставлено | |
Java 11 При попытке получить сертификат или ключ с носителя Rutoken из java вылетает exception (пробовал и JCP и JCSP) Цитата: java.lang.IncompatibleClassChangeError: Class ru.CryptoPro.JCP.KeyStore.Rutoken.RutokenContainerReader does not implement the requested interface ru.CryptoPro.JCP.KeyStore.ContainerReaderInterface Каким образом можно достать ключ и сертификат? Сама ControlPanel из JCP каким-то образом их читает. | |
biff Оставлено | |
Вопрос снят. Т.к. это мавен проект в зависимости добавлялись не все jar из JCP, а только Rutoken JCP JCryptoP asn1rt и asn1p, поэтому при запуске из мавен проекта вылетал этот эксепшен. Если добавить все jar из JCP, то всё работает нормально. Но всё равно не понятно почему RutokenStoreReader не совместим с JCP провайдером. Отредактировано пользователем 21 января 2022 г. 20:27:48(UTC) | |
Nickokow Оставлено | |
Добрый день. 1.1)На сервере с ПО был установлен JCP 2.0.40035 (успешно) 2)Для клиентской машины, которая подписывает, были сгенерированы и добавлены сертификаты. 3)Подписан документ внутри нашей программы (успешно) 4)проверяю подпись на сервере, получаю ошибку Код:
5)Не могу понять, как добавить CRL в хранилище JCP, или как JCP обращаться к локальному списку отозванных сертификатов, или как запретить эту проверку. вывернул все мозги, перечитал все-возможные форумы. ЧЯДНТ. | |
Евгений Афанасьев Оставлено | |
Добрый день. Цитата: 4)проверяю подпись на сервере, получаю ошибку 5)Не могу понять, как добавить CRL в хранилище JCP, или как JCP обращаться к локальному списку отозванных сертификатов, или как запретить эту проверку. В JCP никак не добавить. Если, как сказано в ошибке, укажете в коде System.setProperty(“com.sun.security.enableCRLDP”, “true”), то если в проверяемом сертификате цепочки есть CRLDP (ссылки распространения) для скачивания CRL, они (CRL) будут скачаны из сети и использованы. Если не указано это свойство enableCRLDP или нет доступа к сети (такое бывает), то CRL надо качать отдельно самим и подавать в метод verify(certs, crls) (crls – это список заранее подготовленных X509CRL). Так как используется сертификат из тестового УЦ, CRLDP в нем должен быть, проверьте доступ к crl для скачивания (ссылку на crl можно найти в расширения сертификата и скопировать её в браузер) и включён ли enableCRLDP. Отредактировано пользователем 16 сентября 2021 г. 18:05:49(UTC) | |
Nickokow Оставлено | |
Цитата: укажете в коде System.setProperty(“com.sun.security.enableCRLDP”, “true”) А где именно следует это указывать? Это возможно сделать не java программисту? Цитата: подавать в метод verify(certs, crls) тот-же вопрос, как подать в метод. Цитата: подавать в метод verify(certs, crls) В корневом сертификате из тестового центра нет этих ссылок Цитата: включён ли enableCRLDP. где проверить? p.s работаю с JCP Крипто-про первый раз. И к сожалению не java программист. | |
vicmosin Оставлено | |
Доброго времени суток, Заранее спасибо. | |
TolikTipaTut1 Оставлено | |
Добрый. Да, проверить можно. | |
vicmosin Оставлено | |
Автор: TolikTipaTut1 Добрый. Да, проверить можно. Есть какие-то примеры где можно почерпнуть? )) | |
TolikTipaTut1 Оставлено | |
https://github.com/anato…0using%20BouncyCastle.cs Тут на C#, но на Java переписать, думаю, несложно будет. Важно! В примере, представленном выше, проверяется математическая корректность ЭП. Квалифицированность цепочки, ровно как построение цепочки сертов до корневого, загрузка crl, обработка Ocsp и т.д. в примере нет Отредактировано пользователем 17 февраля 2022 г. 12:32:37(UTC) | |
| |
vicmosin Оставлено | |
Автор: TolikTipaTut1 https://github.com/anatolkavassermann/BounyCastle-and-OpenSSL-crypto/blob/main/Different%20samples%20using%20BouncyCastle.cs Тут на C#, но на Java переписать, думаю, несложно будет. Важно! В примере, представленном выше, проверяется математическая корректность ЭП. Квалифицированность цепочки, ровно как построение цепочки сертов до корневого, загрузка crl, обработка Ocsp и т.д. в примере нет Спасибо! > Квалифицированность цепочки, ровно как построение цепочки сертов до корневого, загрузка crl, обработка Ocsp и т.д. в примере нет Это я так понимаю уже часть JCP? | |
TolikTipaTut1 Оставлено | |
Автор: vicmosin Автор: TolikTipaTut1 https://github.com/anatolkavassermann/BounyCastle-and-OpenSSL-crypto/blob/main/Different%20samples%20using%20BouncyCastle.cs Тут на C#, но на Java переписать, думаю, несложно будет. Важно! В примере, представленном выше, проверяется математическая корректность ЭП. Квалифицированность цепочки, ровно как построение цепочки сертов до корневого, загрузка crl, обработка Ocsp и т.д. в примере нет Спасибо! > Квалифицированность цепочки, ровно как построение цепочки сертов до корневого, загрузка crl, обработка Ocsp и т.д. в примере нет Это я так понимаю уже часть JCP? Нет, придётся писать самостоятельно с использованием BouncyCastle | |
Санчир Момолдаев Оставлено | |
Добрый день! | |
TolikTipaTut1 Оставлено | |
Автор: Санчир Момолдаев Добрый день! + | |
vicmosin Оставлено | |
Автор: Санчир Момолдаев Добрый день! Именно. Отредактировано пользователем 17 февраля 2022 г. 13:53:19(UTC) | |
Санчир Момолдаев Оставлено | |
Автор: vicmosin Автор: Санчир Момолдаев Добрый день! Именно. да | |
| |
Если вы решили разрабатывать приложение на Java + maven, которое должно работать с отечественной криптографией, то эта статья для вас.
В статье рассказывается как создать приложение и подключить к нему JavaCSP для работы с ГОСТ-овой криптографией. В качестве примера мы создадим программу, показывающую все сертификаты в регистре.
Целевая аудитория junior/middle разработчики, которым требуется реализовать подписание/шифрование на базе отечественной криптографии. И которые до этого не имели опыта работы с Крипто Про.
Java CSP – это по сути API, чтобы обратиться к уже установленному в системе Crypto Pro CSP. Сам модуль ничего не подписывает и не шифрует, а лишь обращается к уже установленному в системе Крипто Про.
Если вы уже разрабатывали maven приложения на java, то при необходимости добавить новый модуль в проект добавляли еще одну dependency в pom файл. У крипто про нет публичных maven репозиториев и поэтому потребуются дополнительные действия.
Вначале необходимо скачать Java CSP с официального сайта.
Распаковываете архив в удобном месте и стандартными командами устанавливаете библиотеки в локальный maven репозиторий
mvn install:install-file -Dfile=./libs/JCSP.jar \
-DgroupId=ru.cryptopro.jcp \
-DartifactId=jcp-jscp \
-Dversion=5.0.40363-A \
-Dpackaging=jar \
Необходимый минимум библиотек для установки есть в cprypto-install.sh в репозитории в конце статьи.
После установки в локальный maven репозиторий можно добавлять библиотеки JavaCSP как зависимости в pom файл
<dependency>
<groupId>ru.cryptopro.jcp</groupId>
<artifactId>jcp-jscp</artifactId>
<version>5.0.40363-A</version>
</dependency>
К счастью начиная с java 10 более нет необходимости устанавливать Java CSP непосредственно в jre. Достаточно инициализировать его непосредственно в программе.
System.setProperty("file.encoding", "UTF-8");
Security.addProvider(new JCSP()); // провайдер JCSP
Security.addProvider(new RevCheck());// провайдер проверки сертификатов JCPRevCheck
//(revocation-провайдер)
Security.addProvider(new CryptoProvider());// провайдер шифрования JCryptoP
Теперь нам нужно получить хранилище ключей, из него имена сертификатов и сами сертификаты
KeyStore ks = KeyStore.getInstance("REGISTRY", "JCSP");
ks.load(null, null);
Enumeration<String> aliases = ks.aliases();
while (aliases.hasMoreElements()) {
Certificate cert = ks.getCertificate(aliases.nextElement());
if (cert == null) {
continue;
}
if (!(cert instanceof X509Certificate)) {
continue;
}
X509Certificate curCert = (X509Certificate) cert;
System.out.println(CertUtil.subjectCN(curCert));
}
Остался последний шаг – собрать наше приложение. Обратите внимание – при работе Java CSP проверяет свои библиотеки на версию и md5 (RevCheck). При сборке “толстого” jar файла RevCheck проверяет версию и md5 всего “толстого” jar файла. Идет сравнение с заложенными в RevCheck значениями. Ну и конечно такая проверка не проходит. Поэтому необходимо собирать “тонкий” jar с внешними библиотеками.
Для этого мы используем maven-dependency-plugin для сборки зависимостей, maven-jar-plugin для сборки самого приложения и maven-assembly-plugin для сборки всего приложения с библиотеками в zip архив.
<build>
<finalName>${project.name}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/libs
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>libs/</classpathPrefix>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<mainClass>
site.barsukov.java_csp.Application
</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/resources/assembly.xml</descriptor>
</descriptors>
<finalName>${project.artifactId}-${project.version}</finalName>
<outputDirectory>${project.build.directory}/distr</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
После запуска приложения выводится список установленных в реестре сертификатов.

Как реализовать подписание, шифрование и пр. вы сможете найти в документации в скачанном ранее с сайта крипто про архиве.
→ Репозиторий программы
Руслан Хасанов Оставлено | |
Доброго времени суток. List<X509Certificate> certChain = new ArrayList<X509Certificate>(); if (jcpConfig.getIssuerCertB64() != null && !jcpConfig.getIssuerCertB64().equalsIgnoreCase(“”)) { PrivateKey key = null; key = (PrivateKey) keyStore.getKey(“jcp3cont”, “123”.toCharArray()); byte[] cms; ByteArrayOutputStream signatureStream = new ByteArrayOutputStream(); При выполнении cadesSign.addSigner() получаю ошибку: at java.base/java.lang.Thread.run(Thread.java:834) С чем может быть связана данная ошибка? И что это за класс AndroidExtKeyUsageCertPathChecker? Про него никакой информации не нашел | |
Руслан Хасанов Оставлено | |
Автор: Евгений Афанасьев Здравствуйте. Боюсь, что нет. Подскажите, пожалуйста, как ее подключить? И откуда скачать Отредактировано пользователем 19 сентября 2021 г. 21:03:23(UTC) | |
Руслан Хасанов Оставлено | |
Автор: Евгений Афанасьев JCPRevCheck.jar есть в составе дистрибутива. Данная ошибка ушла, спасибо. Caused by: Error building certification path for the target, sn: 120058c316c3051a78ae234fce00010058c316, subject: CN=jcp4, issuer: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru : java.security.NoSuchProviderException: no such provider: RevCheck; error codes: [33] ‘PKIX failure: invalid parameters of certificate’, Вызов Caused by: java.lang.NoSuchFieldError: PRODUCT_VERSION Отредактировано пользователем 19 сентября 2021 г. 21:59:58(UTC) | |
Руслан Хасанов Оставлено | |
Используется jcp-2.0.40035 для java11 C вышеуказанной ошибкой удалось справиться, добавил в проект версию JCP.jar из дистрибутива java.security.ProviderException: Ошибка при проверке лицензии о какой лицензии идет речь? Отредактировано пользователем 20 сентября 2021 г. 7:42:35(UTC) | |
Руслан Хасанов Оставлено | |
Автор: Евгений Афанасьев Спасибо за консультацию. Подпись удалось сформировать Отредактировано пользователем 20 сентября 2021 г. 18:25:13(UTC) | |
wastsy Оставлено | |
При попытке вызвать Цитата: Signature.getInstance(getSignatureAlgorithm().name(), JCP.PROVIDER_NAME); возникает исключение: Цитата: Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: GOST3411_2012_256withGOST3410_2012_256, provider: JCP, class: ru.CryptoPro.JCP.Sign.GostElSign2012_256) При этом локально на машине Windows работает корректно, ошибка происходит только на сервере (Linux). | |
Санчир Момолдаев Оставлено | |
Добрый день! | |
wastsy оставлено 25.12.2021(UTC) | |
wastsy Оставлено | |
Добрый день! | |
wastsy Оставлено | |
Вот скрин: Подскажите, пожалуйста, это весь список необходимых jar-ников? | |
wastsy Оставлено | |
Автор: Санчир Момолдаев Добрый день! Чуть выше задал вам вопросы уточняющие. Ещё попробовал собрать fat jar со всеми jar-никами и запустить его локально, но, к сожалению, появилась вот такая проблема (такая же проблема возникает и при запуске fat jar без всех дополнительных jar-ников): Цитата: Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: GOST3411_2012_256withGOST3410_2012_256, provider: JCP, class: ru.CryptoPro.JCP.Sign.GostElSign2012_256) Попробовал этот же fat jar со всеми jar-никами запустить на сервере: ошибка та же, что и указывалась ранее: Цитата: Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: GOST3411_2012_256withGOST3410_2012_256, provider: JCP, class: ru.CryptoPro.JCP.Sign.GostElSign2012_256) Отредактировано пользователем 21 декабря 2021 г. 17:00:43(UTC) | |
Евгений Афанасьев Оставлено | |
Здравствуйте. Автор: wastsy jcp-2.0.41940-A для JVM 10 ? Отредактировано пользователем 21 декабря 2021 г. 18:11:45(UTC) | |
wastsy оставлено 25.12.2021(UTC) | |
wastsy Оставлено | |
Автор: Евгений Афанасьев Здравствуйте. Автор: wastsy jcp-2.0.41940-A для JVM 10 ? Перепроверил версию. Действительно, стояла версия jcp-2.0.40132-A. Сейчас попробую новую 5.0.42119-A Отредактировано пользователем 23 декабря 2021 г. 11:48:50(UTC) | |
wastsy Оставлено | |
Импортировал все jar-ники из java-csp-5.0.42119-A (КриптоПро CSP 5.0 R2) в проект: Собрал fat jar, все проблемы ушли при запуске этого jar-ника локально. Цитата: Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: GOST3411_2012_256withGOST3410_2012_256, provider: JCP, class: ru.CryptoPro.JCP.Sign.GostElSign2012_256) jar-ник JCP.jar подключен, что подтверждается тем, что локально отрабатывает нормально тот джарник, который вызывает исключение на сервере. Отредактировано пользователем 23 декабря 2021 г. 13:50:29(UTC) | |
Веб-сервисы с поддержкой ЭЦП на базе криптографии ГОСТ
Начиная с версии 2008.2, в Caché и в Ensemble встроена поддержка WS-Security, включающая механизмы проверки и формирования электронной подписи SOAP-сообщений. На текущий момент имеется «out of the box» поддержка ЭЦП на базе крипто алгоритмов семейства RSA.
К системам, создаваемым для российских заказчиков, зачастую предъявляется требование применения сертифицированных СКЗИ, использующих крипто алгоритмы ГОСТ. Далее описан один из подходов к разработке веб-сервисов Caché, защищенных ЭЦП на базе ГОСТ’овской криптографии.
В качестве сертифицированного СКЗИ, будем использовать продукт КриптоПро JCP, представляющий собой набор Java библиотек, в которых реализован алгоритм подписи — ГОСТ Р 34.10-2001, а также алгоритм хэширования ГОСТ Р 34.11-94.
Дополнительные библиотеки Java
Нам понадобится библиотека iscjcp.jar (исходники здесь), в которой содержится ряд вспомогательных классов для работы с JCP из Caché. Кроме этого, потребуются три open source библиотеки — Commons Logging, Santuario (aka XML Security) и WSS4J. Их использование регулируется лицензией Apache Software License 2.0.
Загрузите архив jars.zip с четырьмя перечисленными библиотеками и распакуйте его в папку jre\lib\ext.
В случае использования Windows 7, необходимо выдать полномочия группе «Все» на чтение и выполнение всех библиотек в папке jre\lib\ext.
Характеристики
КриптоПро JavaTLS предназначен для поддержки защищенного обмена данными в Internet, на основе криптопровайдеров КриптоПро JCP или КриптоПро Java CSP. Этот продукт реализует SSL и TLS протоколы и содержит функции шифрования, контроля целостности, аутентификации сервера и клиента на основе российских стандартов. Использование КриптоПро JTLS позволяет разработчику осуществить защищенную передачу данных по таким протоколам как HTTP, Telnet, FTP, TCP/IP. JavaTLS реализован в стандартном интерфейсе JSSE.
Основные характеристики
Назначение
Система безопасности
Версия
КриптоПро JavaTLS версии 2.0
Платформа
Десктоп, Сервер
Объект лицензирования
Сервер
Количество лицензируемых объектов
1
Входит в единый реестр российских программ для ЭВМ и БД
Да
(13)
КРИПТО-ПРО КриптоПро JavaTLS версии 2.0 на одном сервере сертифицирован для продажи в России.
Изображения товара, включая цвет, могут отличаться от реального внешнего вида.
Комплектация также может быть изменена производителем без предварительного уведомления.
Данное описание не является публичной офертой.
Право на использование КРИПТО-ПРО КриптоПро JavaTLS версии 2.0 на одном сервере – фото, технические характеристики, условия доставки по Санкт-Петербургу. Для того, чтобы купить право на использование КРИПТО-ПРО КриптоПро JavaTLS версии 2.0 на одном сервере в интернет-магазине XcomSpb.ru, достаточно заполнить форму онлайн заказа или позвонить по телефонам: +7 (812) 740-11-10.
Настройка и запуск Java Gateway, создание проекций классов
Чтобы стало возможным вызывать Java-классы из Caché/Ensemble, необходимо настроить и запустить Java Gateway, а также создать проекции используемых Java-классов.
Добавим новую запись в таблицу настроек Java Gateway в области %SYS:
insert into %Net_Remote.ObjectGateway(Name, Type, Server, Port, JavaHome) values (‘JCPGate’, ‘1’, ‘127.0.0.1’, ‘55555’, ‘C:\Program Files\Java\jdk1.6.0_20\jre’)
Здесь в поле Name указано значение “JCPGate” – это имя нового Java Gateway. В поле JavaHome необходимо указать путь к JRE, для которой была произведена установка JCP. В поле Port указывается TCP-порт, используемый для общения с этим Java Gateway из Caché.
Теперь можно запустить новый Java Gateway, выполнив в терминале Caché следующую команду:
write ##class(%Net.Remote.Service).StartGateway(“JCPGate”)
Чтобы остановить его, вызовите метод StopGateway:
write ##class(%Net.Remote.Service).StopGateway(“JCPGate”)
Запускать/останавливать Java Gateway можно из любой области.
Перейдем в область, где ведется разработка веб-сервисов, и создадим проекцию для Java-класса isc.jcp.JcpFacade, выполнив в терминале Caché следующую команду:
do ##class(%Net.Remote.Java.JavaGateway).%ExpressImport(“isc.jcp.JcpFacade”, “55555”)
Здесь 55555 – это номер TCP-порта, который используется для общения с Java Gateway. Этот порт был указан нами ранее при добавлении записи в таблицу %Net_Remote.ObjectGateway.
Установка КриптоПро JCP на Windows
Прежде всего, на сервер системы установите Java Runtime Environment (JRE) версии не ниже 1.6.
Загрузите дистрибутив КриптоПро JCP с сайта производителя, распакуйте его в папку на сервере и запустите скрипт установки install.bat. Скрипт находится в папке lib дистрибутива. При его запуске необходимо указать путь к JRE:
install.bat “C:\Program Files\Java\jdk1.6.0_20\jre”
В случае если имеется лицензия, при запуске скрипта также указывается серийный номер и название компании:
install.bat “C:\Program Files\Java\jdk1.6.0_20\jre” XXXXX-XXXXX-XXXXX-XXXXX-XXXXX “Your Company”
Под Windows 7 скрипт установки необходимо запускать с правами администратора. После завершения работы скрипта, убедитесь в том, что в папке jre\lib\ext появились следующие библиотеки:
asn1rt.jar | JCP.jar | JCPRevCheck.jar | JCP_ASN.jar |
AsnLite.jar | JCPinst.jar | JCPRevTools.jar | JCryptoP.jar |
forms_rt.jar | JCPRequest.jar | JCPxml.jar |
Формирование ЭЦП для исходящих SOAP-сообщений веб-сервиса
Далее рассмотрим случай, когда все ответы веб-сервиса должны быть подписаны ЭЦП организации. В такой ситуации на сервере системы размещается хранилище, содержащее секретный ключ, который используется при формировании подписи. Кроме того, должен быть доступен сертификат, соответствующий этому ключу. В библиотеке iscjcp.jar реализована работа с хранилищем типа «FloppyStore». Поэтому, для формирования ЭЦП нам потребуется виртуальная дискета с хранилищем ключей.
Размещение секретного ключа и сертификата на виртуальной дискете на сервере системы
Чтобы создать такую дискету, выполните следующие действия:
- Установите драйвер, имитирующий FDD привод, например, ImDisk.
- Из панели управления Windows запустите программу настройки «ImDisk Virtual Disk Driver» и настройте диск с параметрами:
- Drive letter: A,
- Size of virtual disk: 1 Megabyte,
- Device type: Floppy.
- Отформатируйте виртуальную дискету, задав файловую систему FAT.
- Распакуйте содержимое архива FDD.zip на диск A:\.
В результате описанных манипуляций на диске A:\ сервера имеем хранилище ключей, содержащее тестовый секретный ключ. Файл A:\SelfSigned.cer представляет собой тестовый сертификат, соответствующий секретному ключу.
Вы можете самостоятельно генерировать ключи и сертификаты с помощью КриптоПро JCP. Эти процедуры описаны в документации продукта.
Формирование ЭЦП
Загруженный ранее архив iscjcp-cos-sources2012.zip с исходным кодом Caché Object Script содержал класс smev.JcpSignature. Импортируйте этот класс в Caché с помощью Studio.
Откройте класс smev.JcpUtils в Studio и отредактируйте значение параметра CERTFILENAME, указав полный путь к файлу сертификата – “A:\SelfSigned.cer”. Этот сертификат соответствует секретному ключу, который будет использоваться при формировании ЭЦП. Скомпилируйте класс.
Теперь, чтобы добавить в метод веб-сервиса функционал по формированию ЭЦП для возвращаемых сообщений, необходимо вставить следующую строку в код этого метода:
do ..SecurityOut.AddElement(##class(smev.JcpSignature).%New())
Это работает на версиях Caché/Ensemble, начиная с 2009.1, по 2012.1 включительно. Ниже приведен пример веб-сервиса, где в метод echo() добавлено подписывание ответа.
Class test.TestService Extends %SOAP.WebService { Parameter SERVICENAME = "TestService"; Parameter NAMESPACE = "http://test/wsdl"; Method echo(request As %String) As %String [ ProcedureBlock = 1, SoapAction = "urn:echo", SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ] { do ..SecurityOut.AddElement(##class(smev.JcpSignature).%New()) quit request } Method OnPreSOAP(mode As %String, action As %String, request) { do ##super(mode, action, request) #dim stream As %Stream.Object = request if '$isObject(stream) { // на случай MIME attachments #dim index As %Integer = %request.NextMimeData("") set stream = $select(index="":"", 1:%request.GetMimeData(index)) } if $isObject(stream) { #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream) if $isObject(fault) set ..SoapFault = fault } } }
Тестирование веб-сервиса
Чтобы протестировать проверку/формирование ЭЦП веб-сервисом test.TestService, исходный код которого приведен выше, выполним следующие действия.
- При помощи Studio создадим класс test.TestService в той же области, куда были импортированы классы smev.*. Исходный код нового класса скопируем из вышеприведенного листинга.
- Запустим в терминале Caché метод signFile() класса smev.JcpUtils:
write ##class(smev.JcpUtils).signFile(“id1”, “C:\Temp\input.xml”, “C:\Temp\output.xml”)Убедимся в том, что в результате работы метода был создан файл C:\Temp\output.xml, содержащий подписанное SOAP-сообщение (Envelope): в заголовке (Header) находится ЭЦП в формате WS-Security, а тело (Body) представляет собой XML-документ, взятый из файла input.xml.
Готовый файл output.xml имеется в архиве xmls.zip.
- Направим полученное SOAP-сообщение с ЭЦП на вход сервиса test.TestService. Для этого выполним в терминале Caché следующие команды (при необходимости, замените порт веб-сервера – “57772” на правильный, а также область “user” в предпоследней команде):
set httprequest = ##class(%Net.HttpRequest).%New() set httprequest.Server = "localhost" set httprequest.Port = "57772" set httprequest.WriteRawMode = 1 set httprequest.ContentType = "text/xml" do httprequest.SetHeader("SOAPAction","urn:echo") set fileStream = ##class(%Library.FileBinaryStream).%New() set fileStream.Filename = "C:\Temp\output.xml" do httprequest.EntityBody.CopyFrom(fileStream) do httprequest.Post("/csp/user/test.TestService.cls") do httprequest.HttpResponse.OutputToDevice()
Если успешно прошла проверка ЭЦП входящего сообщения, а затем и формирование ЭЦП исходящего, то в окне терминала появится ответ веб-сервиса примерно такого вида:
Все действия, описанные в статье, можно посмотреть в следующем видеоролике:
Купить КриптоПро JavaTLS в СНАБСОФТ
Покупая лицензию КриптоПро JavaTLS, за невысокую цену вы получаете программу, предназначеную для поддержки защищенного обмена данными в Internet, на основе криптопровайдеров КриптоПро JCP или КриптоПро Java CSP.
Программа КриптоПро JavaTLS реализует SSL и TLS протоколы и содержит функции шифрования, контроля целостности, аутентификации сервера и клиента на основе российских стандартов.
Использование программы КриптоПро JTLS позволяет разработчику осуществить защищенную передачу данных по таким протоколам как HTTP, Telnet, FTP, TCP/IP. JavaTLS реализован в стандартном интерфейсе JSSE.
Если Вы не нашли необходимую лицензию на программу КриптоПро JavaTLS, планируете купить другую версию программы или Вас не устраивает стоимость лицензии КриптоПро JavaTLS, уточняйте возможность поставки, наличие и цены по телефонам:
info@snabsoft.ru
Наши специалисты подберут для Вас оптимальное решение!
Проверка ЭЦП во входящих SOAP-сообщениях
Загрузите и распакуйте архив iscjcp-cos-sources2012.zip с исходным кодом классов smev.JcpUtils и smev.JcpSignature. Импортируйте класс smev.JcpUtils в Caché с помощью Studio, предварительно перейдя в область, где ведется разработка веб-сервисов. Откройте импортированный класс в Studio и отредактируйте значения параметров JAVAGATEWAYPORT и JAVAGATEWAYSERVER, указав соответственно TCP-порт и IP-адрес используемого Java Gateway. Скомпилируйте класс.
Теперь, чтобы добавить в существующий веб-сервис проверку ЭЦП, достаточно внести в класс веб-сервиса следующий метод:
Method OnPreSOAP(mode As %String, action As %String, request) { do ##super(mode, action, request) #dim stream As %Stream.Object = request if '$isObject(stream) { // на случай MIME attachments #dim index As %Integer = %request.NextMimeData("") set stream = $select(index="":"", 1:%request.GetMimeData(index)) } if $isObject(stream) { #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream) if $isObject(fault) set ..SoapFault = fault } }
Это работает на версиях Caché/Ensemble, начиная с 2009.1. Ниже приведен пример веб-сервиса, который осуществляет проверку подписи всех входящих SOAP-сообщений.
Class test.TestService Extends %SOAP.WebService { Parameter SERVICENAME = "TestService"; Parameter NAMESPACE = "http://test/wsdl"; Method echo(request As %String) As %String [ ProcedureBlock = 1, SoapAction = "urn:echo", SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ] { quit request } Method OnPreSOAP(mode As %String, action As %String, request) { do ##super(mode, action, request) #dim stream As %Stream.Object = request if '$isObject(stream) { // на случай MIME attachments #dim index As %Integer = %request.NextMimeData("") set stream = $select(index="":"", 1:%request.GetMimeData(index)) } if $isObject(stream) { #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream) if $isObject(fault) set ..SoapFault = fault } } }
Похожие товары
Право на использование (электронно)
Код товара: 629437
Артикул: KL4253RAQDS
Право на использование (электронно)
Код товара: 629483
Артикул: KL4255RANFS
Модуль
Код товара: 573258
Артикул: Доп. модуль “Автопарк” ПО “Sigur”
Отзывы ↓
Краткое описание
Все характеристики
Характеристики
Основные характеристики | |
---|---|
Категория | Организация |
Назначение | Система безопасности |
Версия | КриптоПро JavaTLS версии 2.0 |
Платформа | Десктоп, Сервер |
Форма поставки | Конверт |
Количество лицензируемых объектов | 1 |
Входит в единый реестр российских программ для ЭВМ и БД | Да |
Вес брутто | 10 г |