Содержание
- Где взять документацию по установке? Какие пакеты ставить?
- Как ввести серийный номер лицензии? Как посмотреть информацию о лицензии?
- Мой дистрибутив Linux не входит в список поддерживаемых, но я очень хочу поставить туда CSP. Как мне это сделать?
- Как установить CSP на ALTLinux?
- Как установить CSP на Debian/Ubuntu?
- Какие ОС удовлетворяют стандарту Linux Standard Base ISO/IEC 23360 (LSB 3.0, 3.1)? Где я могу посмотреть список?
- В каких ОС семейства Unix работает КриптоПро CSP версий 3.0 и 3.6?
- Установка КриптоПро CSP на AltLinux
- КриптоПро
- Материал из ALT Linux Wiki
- Содержание
- О КриптоПро
- Совместимость
- Установка
- Загрузка
- Установка пакетов
- Прописывание путей к исполняемым файлам
- Проверка лицензии
- Настройка КриптоПро
- Управление ридерами
- Управление контейнерами
- Создание контейнера
- Просмотр доступных контейнеров
- Удаление контейнера
- Управление сертификатами
- Создание запроса
- Получение сертификата в УЦ и его установка
- Alt-csp-cryptopro
- Содержание
- Установка [ править ]
- Запуск [ править ]
- Создание электронной подписи [ править ]
- Создание отсоединенной (detached) электронной подписи [ править ]
- Создание электронной подписи в zip контейнере [ править ]
- Создание присоединенной (attached) электронной подписи [ править ]
- Проверка электронной подписи [ править ]
- Отсоединённая подпись [ править ]
- Проверка электронной подписи в zip контейнере [ править ]
- Присоединённая подпись [ править ]
Cannot retrieve contributors at this time
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!– –>
Всем привет!
Возникла необходимость поставить 32-разрядный Crypto Pro на 64-разрядную (amd64) FreeBSD. Собрал и поставил 32-разрядные либы (make build32 && make install32), поставил пакеты КриптоПро. Но при запуске они пытаются подключить 64-разрядную libiconv.so.3 из /usr/local/lib и ее, естественно выташнивает:
Код:
# /opt/cprocsp/bin/ia32/certmgr
/libexec/ld-elf.so.1: /usr/local/lib/libiconv.so.3: unsupported file layout
[root@atix-dev /usr/local/lib32/compat]# ldd /opt/cprocsp/bin/ia32/certmgr
/opt/cprocsp/bin/ia32/certmgr:
libcapi20.so.3 => /opt/cprocsp/lib/ia32/libcapi20.so.3 (0x280a3000)
libcpext.so.3 => /opt/cprocsp/lib/ia32/libcpext.so.3 (0x2819d000)
libcapi10.so.3 => /opt/cprocsp/lib/ia32/libcapi10.so.3 (0x28202000)
libasn1data.so.3 => /opt/cprocsp/lib/ia32/libasn1data.so.3 (0x28215000)
librdrsup.so.3 => /opt/cprocsp/lib/ia32/librdrsup.so.3 (0x2879a000)
libiconv.so.3 => not found (0x0)
libthr.so.3 => /usr/lib32/libthr.so.3 (0x287ba000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0x287cf000)
libm.so.5 => /usr/lib32/libm.so.5 (0x288c2000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x288db000)
libc.so.7 => /usr/lib32/libc.so.7 (0x288e6000)
libiconv.so.3 => not found (0x0)
libiconv.so.3 => not found (0x0)
Собрал 32-разрядный мир и порты в chroot, взял оттуда libiconv.so.3, пытался подкладывать в /usr/lib32 и в /usr/local/lib32/compat — без толку. Вывод ldd не меняется, программа не запускается. Вышел из положения несколько извратным способом.Сделал в /usr/local/lib32/compat симлинк libiconv.so.30 на файл libiconv.so.3, cоздал следующий файл /etc/libmap32.conf
Код:
[/opt/cprocsp/bin/ia32/]
libiconv.so.3 libiconv.so.30
После этого ldd показывает следующее:
Код:
# ldd /opt/cprocsp/bin/ia32/certmgr /opt/cprocsp/bin/ia32/certmgr: libcapi20.so.3 => /opt/cprocsp/lib/ia32/libcapi20.so.3 (0x280a3000) libcpext.so.3 => /opt/cprocsp/lib/ia32/libcpext.so.3 (0x2819d000) libcapi10.so.3 => /opt/cprocsp/lib/ia32/libcapi10.so.3 (0x28202000) libasn1data.so.3 => /opt/cprocsp/lib/ia32/libasn1data.so.3 (0x28215000) librdrsup.so.3 => /opt/cprocsp/lib/ia32/librdrsup.so.3 (0x2879a000) libiconv.so.3 => /usr/local/lib32/compat/libiconv.so.30 (0x287ba000) libthr.so.3 => /usr/lib32/libthr.so.3 (0x288b0000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0x288c5000) libm.so.5 => /usr/lib32/libm.so.5 (0x289b8000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x289d1000) libc.so.7 => /usr/lib32/libc.so.7 (0x289dc000)
и бинарники нормально запускаются.
Но этот способ кажется мне слишком извратным. Почему всё-таки система ищет 32-битные бинарники в 64-битном каталоге?
ЗЫ пока писал этот пост нашел еще одно решение: подложить libiconv.so.3 в каталог либ крипто-про (/opt/cprocsp/lib/ia32/). Так тоже работает. Но вопрос всё же в силе…
Сегодня 09.09.2022 г.
Разработчик: ООО «КРИПТО-ПРО»
- Назначение
- Реализуемые алгоритмы
- Поддерживаемые платформы
- Поддерживаемые типы ключевых носителей
- Средства защиты информации
- Средства контроля защищённости
- CryptoPro CSP 4 в контейнере
- Лицензия CryptoPro CSP 4
- Зачем это нужно
- Файлы и папки
- Установка
- Корневые сертификаты и сертификаты УЦ
- Тестовые сертификаты
- Описание API
- Ссылки которые очень помогли
- Основные решаемые задачи
- Поддерживаемые алгоритмы
- Регулирующие документы
- Поддерживаемые технологии хранения ключей
- Облачный токен
- ФКН-носители с неизвлекаемыми ключами и безопасной аутентификацией
- Носители с неизвлекаемыми ключами
- Классические пассивные USB-токены и смарт-карты
- Поддерживаемое программное обеспечение
- Интеграция с платформой КриптоПро
- Операционные системы и аппаратные платформы
- Интерфейсы для встраивания
- Производительность на любой вкус
- Веб-сервисы с поддержкой ЭЦП на базе криптографии ГОСТ
- Управление сертификатами
- Создание запроса
- Формирование ЭЦП для исходящих SOAP-сообщений веб-сервиса
- Размещение секретного ключа и сертификата на виртуальной дискете на сервере системы
- Формирование ЭЦП
- Проверка электронной подписи [ править ]
- Отсоединённая подпись [ править ]
- Проверка электронной подписи в zip контейнере [ править ]
- Присоединённая подпись [ править ]
- О КриптоПро
- Установка КриптоПро CSP на AltLinux
- Как установить CSP на ALTLinux?
- Настройка и запуск Java Gateway, создание проекций классов
- Проверка ЭЦП во входящих SOAP-сообщениях
- Установка пакетов
- Создание электронной подписи [ править ]
- Создание отсоединенной (detached) электронной подписи [ править ]
- Создание электронной подписи в zip контейнере [ править ]
- Создание присоединенной (attached) электронной подписи [ править ]
- Тестирование веб-сервиса
- Дополнительные библиотеки Java
- Управление контейнерами
- Создание контейнера
- Просмотр доступных контейнеров
- Удаление контейнера
- Управление ридерами
- В каких ОС семейства Unix работает КриптоПро CSP версий 3. 0 и 3
- Установка КриптоПро JCP на Windows
- Какие ОС удовлетворяют стандарту Linux Standard Base ISO/IEC 23360 (LSB 3. 0, 3. 1)? Где я могу посмотреть список?
- Мой дистрибутив Linux не входит в список поддерживаемых, но я очень хочу поставить туда CSP. Как мне это сделать?
Назначение
Криптопровайдер КриптоПро CSP предназначен для:
авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной подписи (ЭП) в соответствии с отечественными стандартами ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 (с использованием ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012);обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;обеспечения аутентичности, конфиденциальности и имитозащиты соединений по протоколу TLS;контроля целостности системного и прикладного программного обеспечения для его защиты от несанкционированных изменений и нарушений правильности функционирования;управления ключевыми элементами системы в соответствии с регламентом средств защиты.
Реализуемые алгоритмы
Алгоритм выработки значения хэш-функции реализован в соответствии с требованиями ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012 “Информационная технология. Криптографическая защита информации. Функция хэширования”.Алгоритмы формирования и проверки электронной подписи реализованы в соответствии с требованиями ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 “Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи”.Алгоритм зашифрования/расшифрования данных и вычисление имитовставки реализованы в соответствии с требованиями ГОСТ 28147-89 “Системы обработки информации. Защита криптографическая”.
При генерации закрытых и открытых ключей обеспечена возможность генерации с различными параметрами в соответствии ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012.
При выработке значения хэш-функции и шифровании обеспечена возможность использования различных узлов замены в соответствии с ГОСТ Р 34.11-94 и ГОСТ 28147-89.
Таблица алгоритмов, поддерживаемых разными версиями КриптоПро CSP.
Поддерживаемые платформы
С полным списком поддерживаемых разными версиями КриптоПро CSP платформ можно ознакомиться в таблице.
Классификация операционных систем для использования КриптоПро CSP c лицензией на рабочее место и сервер.
Поддерживаемые типы ключевых носителей
дискеты 3,5″;смарт-карты с использованием считывателей смарт-карт, поддерживающий протокол PС/SC;таблетки Touch-Memory DS1993 – DS1996 с использованием устройств Аккорд 4+, электронный замок “Соболь”, АПМДЗ “КРИПТОН-ЗАМОК” или устройство чтения таблеток Touch-Memory DALLAS (только в Windows версии);электронные ключи с интерфейсом USB (USB-токены);сменные носители с интерфейсом USB;реестр ОС Windows;файлы ОС Solaris/Linux/FreeBSD.
Сертификаты соответствия на СКЗИ “КриптоПро CSP”
Средства защиты информации
Средства контроля защищённости
Криптопровайдер КриптоПро CSP предназначен для:
- авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной цифровой подписи (ЭЦП) в соответствии с отечественными стандартами ГОСТ Р 34.10-94, ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001;
- обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;
- обеспечение аутентичности, конфиденциальности и имитозащиты соединений TLS;
- контроля целостности, системного и прикладного программного обеспечения для его защиты от несанкционированного изменения или от нарушения правильности функционирования;
- управления ключевыми элементами системы в соответствии с регламентом средств защиты.
Криптопровайдер КриптоПро CSP версии 3.0 функционирует в следующих операционных системах и аппаратных платформах:
- Red Hat Linux 7
- FreeBSD 5
- Solaris 9
Длина ключей электронной цифровой подписи:
- закрытый ключ – 256 бит;
- открытый ключ
- 512 бит при использовании алгоритма ГОСТ Р 34.10-2001
- 1024 бита при использовании алгоритма ГОСТ Р 34.10-94
Длина ключей, используемых при шифровании:
- закрытый ключ – 256 бит;
- открытый ключ
- 512 бит на базе алгоритма ГОСТ Р 34.10-2001
- 1024 бита на базе алгоритма ГОСТ Р 34.10-94
- симметричный ключ – 256 бит;
Типы ключевых носителей:
- дискета 3,5″;
- процессорные карты MPCOS-EMV и российские интеллектуальные карты (Оскар, РИК) с использованием считывателей смарт-карт, поддерживающий протокол PS/SC (GemPC Twin, Towitoko, Oberthur OCR126 и др.);
- таблетки Touch-Memory DS1993 – DS1996 с использованием устройств Аккорд 4+, электронный замок “Соболь” или устройство чтения таблеток Touch-Memory DALLAS (только в Windows версии);
- электронный ключ с интерфейсом USB (только в Windows версии);
- сменный носитель с интерфейсом USB;
- реестр ОС Windows;
- файлы ОС Solaris/Linux/FreeBSD;
Алгоритм выработки значения хэш-функции реализован в соответствии с требованиями ГОСТ Р 34.11 94 “Информационная технология. Криптографическая защита информации. Функция хэширования”.
Алгоритмы формирования и проверки ЭЦП реализованы в соответствии с требованиями:
- ГОСТ Р 34.10 94 “Информационная технология. Криптографическая защита информации. Система электронной цифровой подписи на базе асимметричного криптографического алгоритма” ;
- ГОСТ Р 34.10 94 и ГОСТ Р 34.10-2001 “Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи”.
Алгоритм зашифрования/расшифрования данных и вычисление имитовставки реализованы в соответствии с требованиями ГОСТ 28147 89 “Системы обработки информации. Защита криптографическая”.
При генерации закрытых и открытых ключей обеспечена возможность генерации с различными параметрами в соответствии с ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001.
При выработке значения хэш-функции и шифровании обеспечена возможность использования различных узлов замены в соответствии с ГОСТ Р 34.11-94 и ГОСТ 28147-89.
КриптоПро SSF (Secure Store and Forward) – это программный комплекс, позволяющий использовать средство криптографической защиты информации (СКЗИ) КриптоПро CSP в продуктах компании SAP AG.
КриптоПро SSF обеспечивает криптографическую защиту электронных документов с использованием российских криптоалгоритмов (ГОСТ 28147-89, ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012, ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 ).
Назначение:
- предназначен для защиты открытой информации в информационных системах общего пользования (вычисление и проверка электронной подписи) и защиты конфиденциальной информации, не содержащей сведений, составляющих государственную тайну, в корпоративных информационных системах;
- позволяет создавать и проверять как обычную электронную подпись, так и усовершенствованную электронную подпись;
- используется для оборудования автоматизированных рабочих мест пользователей программных продуктов, построенных на платформе SAP Netweaver ABAP (SAP ERP, SAP SRM, SAP CRM, SAP SCM), и выступает как программная “обертка” прикладных данных, применяющихся в различных сценариях для защиты данных и документов с использованием механизмов на основе сертификатов X.509 и электронной подписи:
- идентификация пользователей и процессов систем документооборота;
- электронная подпись прикладных данных, обрабатываемых в решениях SAP;
- хранение данных в защищенном формате;
- защищенная передача данных через публичные сети;
- гарантирование аутентичности и целостности данных.
Возможности:
Программное средство применения электронной подписи КриптоПро SSF представляет собой модуль динамически подгружаемой библиотеки, реализующей интерфейс (API) “Secure Store & Forward (SSF)” и обеспечивающей в соответствие с этим выполнение следующих задач:
- Формирование и проверку усиленной квалифицированной электронной подписи данных;
- Шифрование и расшифрование данных;
- Вычисление значения хэш-функции;
- Поддержку формата криптографических сообщений согласно RFC 3852 “Cryptographic Message Syntax (CMS)” с учетом RFC 4490 “Using the GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic Message Syntax (CMS)”;
- Поддержку формата криптографических сообщений усовершенствованной электронной подписи – CAdES X Long (“CMS Advanced Electronic Signatures”) с фиксацией времени подписания электронного документа посредством реализации протокола TSP согласно рекомендациям RFC 3161 (“Internet X.509 Public Key Infrastructure, Time-Stamp Protocol (TSP)”) и сохранением информации о статусе сертификата ключа проверки ЭП подписчика на момент времени подписания электронного документа посредством реализации протокола OCSP согласно рекомендациям RFC 2560 (“Internet X.509 Internet Public Key Infrastructure Online Certificate Status Protocol – OCSP”) и хранением всех доказательств подлинности этой электронной подписи.
При этом обеспечивается использование квалифицированных сертификатов ключей проверки электронной подписи, изготавливаемых и выдаваемых удостоверяющими центрами.
Поддерживаемые платформы:
КриптоПро SSF функционирует в среде следующих операционных систем:
- Microsoft Windows 2000 и выше,
- ОС семейства Linux, удовлетворяющих LSB 3.1 и выше,
- FreeBSD 7.x и выше,
- AIX 5.3 и 6.x и выше,
- Solaris 10 и выше,
- Apple MacOS 10.6 и выше.
Сертификаты:
КриптоПро SSF использует сертифицированные ФСБ России средства криптографической защиты КриптоПро CSP 3.6, КриптоПро CSP 3.9 или более поздние версии.
- Страница для печати
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 4.0
»
The certificate or certificate chain is based on an untrusted root.
tarkhil Оставлено | |
FreeBSD 13.0 /opt/cprocsp/bin/amd64/certmgr -inst -store Root -f /tmp/skbkontur-q1-2021.crt пишет tarkhil@grandsql:~/billing % /opt/cprocsp/bin/amd64/certmgr -inst -store Root -f /tmp/skbkontur-q1-2021.crt [ErrorCode: 0x00000000] при этом, в Root сертификат попадает, но на ошибку не влияет никак. И, да, в man certmgr по-прежнему написано про -store Root, хотя это уже устарело | |
Михаил Селезнёв Оставлено | |
Добрый день! | |
1 пользователь поблагодарил Михаил Селезнёв за этот пост. | |
tarkhil Оставлено | |
Автор: Михаил Селезнёв Добрый день! Ага, как раз догадался. Следующая часть марлезонского балета – впихнуть в хранилище приватный ключ. В .pem он 100% есть. Документация на certmgr, как обычно, подробна и рассчитана на неспециалиста, не имеющего доступа к исходникам. | |
Михаил Селезнёв Оставлено | |
Опишите пожалуйста, как Вы создали ключ в таком формате. | |
tarkhil Оставлено | |
Автор: Михаил Селезнёв Опишите пожалуйста, как Вы создали ключ в таком формате. Уже осилил. Вынул, доставил, не понял, почему pkg вылетал – подал команды руками, работает. Записать надо будет, да. Итак
и вот, ура, заработало | |
Программное обеспечение «КриптоПро CSP» предназначено для контроля целостности системного и прикладного ПО, управления ключевыми элементами системы в соответствии с регламентом средств защиты, авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями. В «КриптоПро CSP» помимо самого криптопровайдера входят продукты «КриптоПро TLS», «КриптоПро EAP-TLS», «КриптоПро Winlogon» и «КриптоПро Revocation Provider».
Решение предназначено для:
- авторизации и обеспечения юридической значимости электронных документов при обмене ими между пользователями, посредством использования процедур формирования и проверки электронной подписи (ЭП) в соответствии с отечественными стандартами ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 (с использованием ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012);
- обеспечения конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты, в соответствии с ГОСТ 28147-89;
- обеспечения аутентичности, конфиденциальности и имитозащиты соединений по протоколу TLS;
- контроля целостности системного и прикладного программного обеспечения для его защиты от несанкционированных изменений и нарушений правильности функционирования;
- управления ключевыми элементами системы в соответствии с регламентом средств защиты.
Реализуемые алгоритмы
- Алгоритм выработки значения хэш-функции реализован в соответствии с требованиями ГОСТ Р 34.11-94 / ГОСТ Р 34.11-2012 «Информационная технология. Криптографическая защита информации. Функция хэширования».
- Алгоритмы формирования и проверки электронной подписи реализованы в соответствии с требованиями ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
- Алгоритм зашифрования/расшифрования данных и вычисление имитовставки реализованы в соответствии с требованиями ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая».
При генерации закрытых и открытых ключей обеспечена возможность генерации с различными параметрами в соответствии ГОСТ Р 34.10-2001 / ГОСТ Р 34.10-2012.
При выработке значения хэш-функции и шифровании обеспечена возможность использования различных узлов замены в соответствии с ГОСТ Р 34.11-94 и ГОСТ 28147-89.
Поддерживаемые типы ключевых носителей
- дискеты 3,5;
- смарт-карты с использованием считывателей смарт-карт, поддерживающий протокол PС/SC;
- таблетки Touch-Memory DS1993 – DS1996 с использованием устройств Аккорд 4+, электронный замок «Соболь», «Криптон» или устройство чтения таблеток Touch-Memory DALLAS (только в Windows версии);
- электронные ключи с интерфейсом USB (USB-токены);
- сменные носители с интерфейсом USB;
- реестр ОС Windows;
- файлы ОС Solaris/Linux/FreeBSD.
CSP 3.6 | CSP 3.9 | CSP 4.0 | CSP 5.0 | |
---|---|---|---|---|
Windows Server 2016 | x64* | x64** | x64 | |
Windows 10 | x86 / x64* | x86 / x64** | x86 / x64 | |
Windows Server 2012 R2 | x64 | x64 | x64 | |
Windows 8.1 | x86 / x64 | x86 / x64 | x86 / x64 | |
Windows Server 2012 | x64 | x64 | x64 | x64 |
Windows 8 | x86 / x64 | x86 / x64 | x86 / x64 | |
Windows Server 2008 R2 | x64 / itanium | x64 | x64 | x64 |
Windows 7 | x86 / x64 | x86 / x64 | x86 / x64 | x86 / x64 |
Windows Server 2008 | x86 / x64 / itanium | x86 / x64 | x86 / x64 | x86 / x64 |
Windows Vista | x86 / x64 | x86 / x64 | ||
Windows Server 2003 R2 | x86 / x64 / itanium | x86 / x64 | x86 / x64 | x86 / x64 |
Windows Server 2003 | x86 / x64 / itanium | x86 / x64 | x86 / x64 | x86 / x64 |
Windows XP | x86 / x64 | |||
Windows 2000 | x86 |
Лицензию КриптоПРО CSP на бумажном носителе вы можете запросить у своего ответственного менеджера.
✅ Купите Крипто-Про КриптоПро CSP (лицензия на право использования версии 5.0 для одного TLS-сервера), класс КС3 для одного TLS-сервера Astra Linux Special Edition до 10 000 одновременных подключений на официальном сайте
✅ Лицензия Крипто-Про КриптоПро CSP (лицензия на право использования версии 5.0 для одного TLS-сервера), класс КС3 для одного TLS-сервера Astra Linux Special Edition до 10 000 одновременных подключений по выгодной цене
✅ Крипто-Про КриптоПро CSP (лицензия на право использования версии 5.0 для одного TLS-сервера), класс КС3 для одного TLS-сервера Astra Linux Special Edition до 10 000 одновременных подключений, лицензионное программное обеспечение купите в Москве и других городах России
Предлагаем также:
- Лицензии КриптоПро CSP купить по цене от 600 руб.
- Лицензии на продукты категории Защита информации купить по цене от 1350 руб.
- Лицензии на продукты категории Антивирусы и безопасность купить по цене от 1 руб.
CryptoPro CSP 4 в контейнере
Лицензия CryptoPro CSP 4
/opt/cprocsp/sbin/amd64/cpconfig -license -view
/opt/cprocsp/sbin/amd64/cpconfig -license -set XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Зачем это нужно
Данный контейнер не претендует на истину в последней инстанции.
Является больше пособием для развертывания CryptoPro CSP 4 в среде Linux:Ubuntu
Для продакшена его можно и нужно допиливать.
Файлы и папки
/conf - кнфигурационные файлы
Makefile.unix - Файл сборки расширения
getRootAndCACert.php - скрипт получения корневых и УЦ сертификатов, необходимы для проверки подписей
start.sh - скрипт инициализации и запуска необходимых сервисов в контейнере
/dist - дистрибутивы программ и файлы необходимые для компиляции и запуска приложений описаны в установке.
linux-amd64_deb.tgz - дистрибутив CryptoPro CSP 4
cades_linux_amd64.tar.gz - дистрибутива КриптоПро ЭЦП Browser plug-in
php-5.6.30.tar.bz2 - исходники необходимой версии PHP
/www - каталог с PHP API
/docker-compose-dev.yml - пример конфига для docker-compose
/Dockerfile - Файл сборки контенера
/run.sh - скрипт запуска контейнера со всеми необходимыми опциями
Установка
Предполагается что у вас установлен Docker.
После чего запускаем сборку докера:
docker build -t cprocsp ./
Если сборка прошла успешно можно запустить командой в каталоге проекта:
docker exec -it cprocsp bash
Корневые сертификаты и сертификаты УЦ
Установка всех сертификатов в папке с расширением .cer
find . -name *.cer -exec /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file {} \;
Тестовые сертификаты
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file /root/certnew.cer
Команды генерации хранилища могут вызывать ошибки при установленном пакете lsb-cprocsp-kc2*
решается его удалением и установкой после генерации)
Генерация запроса на сертификат (Должен быть установлен коневой сертификат тестового УЦ)
/opt/cprocsp/bin/amd64/cryptcp -creatrqst -dn "[email protected], CN=test" -ku -cont '\\.\HDIMAGE\test' -provtype 75 main.req
Установка сгенерированного в УЦ сертификата.
/opt/cprocsp/bin/amd64/certmgr -inst -file /www/certnew.cer -cont '\\.\HDIMAGE\test'
Описание API
Для проверки открепленной подписи шлем пост запрос на /vsignf.php
С двума параметрами:
- hash – Хеш документа по GOST`у
- sign – подпись
В ответ прилетит json:
Если ошибка до проверки сертификата:
{
"status":1,
"mess":"Описание ошибки"
}
Если проверка прошла:
{
"status":0, // 0 - все хорошо
"data":{
"verify":0, // Проверка 1 - пройдена подпись валидна, 0 - не пройдена подпсись не валидна
"verifyMessage":"сообщение об рошибки с кодом (0x800B010A)",
"signers":[ // подписанты
{
"signingTime":"", //дата подписания
"cert":{ // данные сертификата подписи
"validToDate":"16.05.2018 11:56:29", // Валиден до
"validFromDate":"16.02.2018 11:46:29", // Валиден от
"subjectName":{ // Данные подписанта
"C":"RU",
"CN":"Test"
},
"issuerName":{// Данные УЦ выдавшего сертификат
"CN":"CRYPTO-PRO Test Center 2",
"O":"CRYPTO-PRO LLC",
"L":"Moscow",
"C":"RU",
"E":"[email protected]"
},
"certSerial":"120025DA...00025DAA0" // Серийный сертификата
}
}
]
}
}
Ссылки которые очень помогли
КриптоПро CSP 5.0 – это новое поколение криптопровайдера.
Все преимущества продуктов этих линеек не только сохраняются, но и преумножаются в КриптоПро CSP 5.0: шире список поддерживаемых платформ и алгоритмов, выше быстродействие, удобнее пользовательский интерфейс. Но главное – работа со всеми ключевыми носителями, включая ключи в облаке, теперь единообразна. Для перевода прикладной системы, в которой работал КриптоПро CSP любой из версий, на поддержку ключей в облаке или на новые носители с неизвлекаемыми ключами, не потребуется какая-либо переработка ПО – интерфейс доступа остается единым, и работа с ключом в облаке будет происходить точно таким же образом, как и с классическим ключевым носителем.
Основные решаемые задачи
- Формирование и проверка электронной подписи.
- Обеспечение конфиденциальности и контроля целостности информации посредством ее шифрования и имитозащиты.
- Обеспечение аутентичности, конфиденциальности и имитозащиты соединений по протоколам TLS, EAP-TLS и IPsec.
- Контроль целостности системного и прикладного программного обеспечения для его защиты от несанкционированных изменений и нарушений правильности функционирования.
Поддерживаемые алгоритмы
Электронная подпись | ГОСТ Р 34.10-2012, ГОСТ Р 34.10-2001, ECDSA, RSA |
Хэш-функции | ГОСТ Р 34.11-2012, ГОСТ Р 34.11-94, SHA-1, SHA-2 (224/256/384/512) |
Шифрование | ГОСТ Р 34.12-2015 (Кузнечик и Магма), ГОСТ 28147-89, AES (128/192/256), 3DES, 3DES-112, DES, RC2, RC4 |
Регулирующие документы
В криптопровайдере используются алгоритмы, протоколы и параметры, определенные в следующих документах российской системы стандартизации:
Поддерживаемые технологии хранения ключей
Облачный токен
В криптопровайдере КриптоПро CSP 5.0 впервые появилась возможность использования ключей, хранящихся на облачном сервисе КриптоПро DSS, через интерфейс CryptoAPI. Теперь ключи, хранимые в облаке, могут быть легко использованы как любыми пользовательскими приложениями, так и большинством приложений компании Microsoft. Для тестирования данного сервиса можно воспользоваться открытым сервисом DSS.
ФКН-носители с неизвлекаемыми ключами и безопасной аутентификацией
В КриптоПро CSP 5.0 была добавлена поддержка протокола выработки общего ключа с аутентификацией на основе пароля SESPAKE. Использование данного протокола позволяет защитить канал данных между криптопровайдером и токеном с неизвлекаемым ключом от активного нарушителя. Компании Актив, ИнфоКрипт, СмартПарк, Аладдин Р.Д. и Gemalto разработали новые защищенные токены, которые поддерживают данный протокол и полностью решают проблему безопасной работы с неизвлекаемыми ключами.
Носители с неизвлекаемыми ключами
Многие пользователи хотят иметь возможность работать с неизвлекаемыми ключами, но при этом не обновлять токены до уровня ФКН. Специально для них в провайдер добавлена поддержка популярных ключевых носителей Рутокен ЭЦП 2.0, JaCarta-2 ГОСТ и InfoCrypt VPN-Key-TLS. Теперь пользователи могут быть уверены, что при работе КриптоПро CSP с данными токенами закрытый ключ не будет покидать устройство.
Классические пассивные USB-токены и смарт-карты
Большинство пользователей предпочитает быстрые, дешевые и удобные решения для хранения ключей. Как правило, предпочтение отдаётся токенам и смарт-картам без криптографических сопроцессоров. Как и в предыдущих версиях провайдера, в КриптоПро CSP 5.0 сохранена поддержка всех совместимых носителей производства компаний Актив, Аладдин Р.Д., Gemalto/SafeNet, Multisoft, NovaCard, Rosan, Alioth, MorphoKST и СмартПарк.
Кроме того, конечно, как и раньше поддерживаются способы хранения ключей в реестре Windows, на жестком диске, на флеш-накопителях на всех платформах.
Поддерживаемое программное обеспечение
КриптоПро CSP позволяет быстро и безопасно использовать российские криптографические алгоритмы в следующих стандартных приложениях:
- офисный пакет Microsoft Office;
- почтовый сервер Microsoft Exchange и клиент Microsoft Outlook;
- продукты Adobe Systems Inc.;
- браузеры Яндекс.Браузер, Спутник, Internet Explorer, Edge;
- средство формирования и проверки подписи приложений Microsoft Authenticode;
- веб-серверы Microsoft IIS, nginx, Apache, Tomcat;
- средства удаленного администрирования Microsoft Terminal Server и Citrix;
- Microsoft Active Directory.
Интеграция с платформой КриптоПро
С первого же релиза обеспечивается поддержка и совместимость со всеми нашими продуктами:
- КриптоПро УЦ;
- Службы УЦ;
- КриптоПро ЭЦП;
- КриптоПро NGate;
- КриптоПро IPsec;
- КриптоПро EFS;
- КриптоПро .NET;
- КриптоПро Java CSP.
Совместимость с технологией ФКН, реализованной в продуктах КриптоПро Рутокен CSP, КриптоПро ФКН CSP 3.9, отсутствует.
Операционные системы и аппаратные платформы
Традиционно мы работаем в непревзойдённо широком спектре систем:
- Microsoft Windows Vista/7/8/8.1/10;
- Microsoft Windows Server 2008/2008r2/2012/2012r2/2016;
- Mac OS 10;
- Linux (RHEL, CentOS, Debian, Ubuntu, ROSA, Astra, ALTLinux и т.п.);
- FreeBSD 9/10/11;
- Solaris;
- AIX;
- iOS;
- Android.
аппаратных платформ:
- Intel / AMD;
- PowerPC;
- ARM;
- MIPS (Байкал);
- VLIW (Эльбрус);
- Sparc.
и виртуальных сред:
- Microsoft Hyper-V Server 2008/2008R2/2012/2012R2/2016 (x64);
- Microsoft Hyper-V 8/8.1/10;
- VMWare WorkStation 11/12 (x86-64);
- VMWare Player 7/12 (x86, x64);
- VMWare Sphere ESXi 5.5/6.0 (x64);
- Virtual Box 3.2/4.0/4.1/4.2/4.3/5.0/5.1 (x86, x64);
- RHEV 3.4/3.5/3.6/4.0 (x64).
Интерфейсы для встраивания
Для встраивания в приложения на всех платформах КриптоПро CSP доступен через стандартные интерфейсы для криптографических средств:
- Microsoft CryptoAPI;
- PKCS#11;
- OpenSSL (в виде engine);
- Qt SSL.
Производительность на любой вкус
Огромный опыт разработки позволяет нам охватить все решения от миниатюрных ARM-плат, таких как Raspberry PI, до многопроцессорных серверов на базе Intel Xeon, AMD EPYC и PowerPC, отлично масштабируя производительность.
Веб-сервисы с поддержкой ЭЦП на базе криптографии ГОСТ
Начиная с версии 2008.2, в Caché и в Ensemble встроена поддержка WS-Security, включающая механизмы проверки и формирования электронной подписи SOAP-сообщений. На текущий момент имеется «out of the box» поддержка ЭЦП на базе крипто алгоритмов семейства RSA.
К системам, создаваемым для российских заказчиков, зачастую предъявляется требование применения сертифицированных СКЗИ, использующих крипто алгоритмы ГОСТ. Далее описан один из подходов к разработке веб-сервисов Caché, защищенных ЭЦП на базе ГОСТ’овской криптографии.
В качестве сертифицированного СКЗИ, будем использовать продукт КриптоПро JCP, представляющий собой набор Java библиотек, в которых реализован алгоритм подписи — ГОСТ Р 34.10-2001, а также алгоритм хэширования ГОСТ Р 34.11-94.
Управление сертификатами
Создание запроса
Для создания запроса потребуется:
Таблица 2. Типы применения.
OID | Назначение |
---|---|
1.3.6.1.5.5.7.3.1 | Аутентификация сервера |
1.3.6.1.5.5.7.3.2 | Аутентификация клиента |
1.3.6.1.5.5.7.3.3 | Подписывание кода |
1.3.6.1.5.5.7.3.4 | Защищенная электронная почта |
1.3.6.1.5.5.7.3.8 | Простановка штампов времени |
1.3.6.1.4.1.311.10.5.1 | Цифровые права |
1.3.6.1.4.1.311.10.3.12 | Подписывание документа |
Формирование ЭЦП для исходящих 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 } } }
Проверка электронной подписи [ править ]
Проверка электронной подписи выполняется во вкладке «Проверка».
Отсоединённая подпись [ править ]
Для проверки отсоединённой электронной подписи необходимо нажать кнопку «Выбрать» и выбрать электронный документ.
Далее следует выбрать подпись, нажав кнопку «Выбрать» в секции «Подпись» и выбрать файл электронной подписи.
После появления имени подписи в секции «Подпись», нажать кнопку «Проверить»:
Проверка электронной подписи в zip контейнере [ править ]
Для проверки электронной подписи в контейнере достаточно выбрать zip-архив (документ и подпись будут выбраны автоматически) и нажать кнопку «Проверить».
Присоединённая подпись [ править ]
Для проверки присоединённой электронной подписи необходимо выбрать электронный документ и нажать кнопку «Проверить».
Источник
О КриптоПро
КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.
Если читатель думает, что, установив КриптоПро, он может без проблем входить на сайты электронных торговых площадок и подписывать ЭЦП документы, то это не совсем так:
Установка КриптоПро CSP на AltLinux
Загрузите архив ПО КриптоПро CSP 4.0 R4 или 5.0 для Linux (x64. rpm) по ссылке: https://www.cryptopro.ru/products/csp/downloads. Предварительно требуется регистрация.
Распакуйте архив вручную: ПКМ → Распаковать сюда.
2. Откройте Терминал (Приложения → Системные → Терминал среды Mate).
3. Выполните команду su- и введите пароль суперпользователя.
4. Выполните команду apt-get update для обновления пакетов lsb-core
5. Выполните команду apt-get upgrade для установки обновленных пакетов.
6. Перейдите в каталог с распакованным файлом командой cd /<путь_до_файла>/. Например cd /home/testuser/Загрузки/linux-amd64.
9. Выберите все пакеты для установки, кроме lsb-cprocsp-kc2.
10. Начните установку.
11. Дождитесь окончания установки.
Источник
Как установить CSP на ALTLinux?
Сначала необходимо установить пакет LSB из состава дистрибутива:
apt-get install lsb-3.0
Затем пакет совместимости, поставляющийся вместе с CSP:
После этого можно устанавливать необходимые пакеты из состава CSP. Установка осуществляется при помощи утилиты rpm.
Настройка и запуск 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.
Проверка ЭЦП во входящих 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 } } }
Установка пакетов
1. Распакуйте архив и перейдите в распакованную папку
2. Установите пакет cryptopro-preinstall :
Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).
Таблица 1. Описание необходимых пакетов КриптоПро.
Пакет | Описание |
---|---|
Базовые пакеты: | |
cprocsp-curl | Библиотека libcurl с реализацией шифрования по ГОСТ |
lsb-cprocsp-base | Основной пакет КриптоПро CSP |
lsb-cprocsp-capilite | Интерфейс CAPILite и утилиты |
lsb-cprocsp-kc1 | Провайдер криптографической службы KC1 |
lsb-cprocsp-rdr | Поддержка ридеров и RNG |
Дополнительные пакеты: | |
cprocsp-rdr-gui-gtk | Графический интерфейс для диалоговых операций |
cprocsp-rdr-rutoken | Поддержка карт Рутокен |
cprocsp-rdr-pcsc | Компоненты PC/SC для ридеров КриптоПро CSP |
lsb-cprocsp-pkcs11 | Поддержка PKCS11 |
ifd-rutokens | Конфигурация Рутокеновских карт (или можно взять pcsc-lite-rutokens из репозитория) |
3. Установите пакеты КриптоПро:
Под правами пользователя root установите базовые пакеты:
для поддержки токенов (Рутокен S и Рутокен ЭЦП):
Создание электронной подписи [ править ]
Создание отсоединенной (detached) электронной подписи [ править ]
Для создания подписи следует на вкладке «Подпись», в разделе «Документ» нажать кнопку «Выбрать» и выбрать электронный документ. Нажав кнопку «Просмотреть», можно просмотреть содержимое электронного документа.
Далее следует выбрать сертификат, которым вы собираетесь подписать документ.
Для генерации электронной подписи следует нажать кнопку «Подписать».
В открывшемся окне необходимо ввести пароль на контейнер, если он был установлен, и нажать кнопку «ОК».
В результате успешного создания электронной подписи в поле «Результат» появится сообщение «Ошибок не обнаружено».
Сформированный файл подписи по умолчанию будет сохранен в тот же каталог, в котором находится файл с исходными данными.
Создание электронной подписи в zip контейнере [ править ]
Для создания контейнера необходимо при создании электронной подписи нажать кнопку «Подписать и сжать».
В результате создания электронной подписи, будет сформирован контейнер с именем doc.odt.signed.zip, в который будут перемещены файл электронного документа (doc.odt) и файл электронной подписи (21-09-30_09-16-10_doc.odt.p7b).
Создание присоединенной (attached) электронной подписи [ править ]
Для создания присоединенной подписи необходимо при создании электронной подписи в разделе «Подпись» установить отметку в поле «Присоединённая подпись»:
В том же каталоге, в котором хранился исходный документ, появится файл содержащий как саму электронную подпись, так и исходный документ (в данном примере 21-09-30_09-58-58_test.pdf.p7b).
Пример извлечения файла с данными из файла электронной подписи:
Тестирование веб-сервиса
Чтобы протестировать проверку/формирование ЭЦП веб-сервисом 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()
Если успешно прошла проверка ЭЦП входящего сообщения, а затем и формирование ЭЦП исходящего, то в окне терминала появится ответ веб-сервиса примерно такого вида:
Все действия, описанные в статье, можно посмотреть в следующем видеоролике:
Дополнительные библиотеки 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.
Управление контейнерами
Создание контейнера
Создадим контейнер с именем «test» в локальном ридере HDIMAGE.
При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где предложат двигать курсором мыши:
После показа окна будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет) и снова предложат двигать курсором мыши.
Просмотр доступных контейнеров
Локальный контейнер создан.
Удаление контейнера
Управление ридерами
Ридеры (readers) — устройства размещения контейнеров (аппаратные токены, каталог для размещения файлов).
Просмотр доступных ридеров:
Ридер HDIMAGE размещается на /var/opt/cprocsp/keys/ /
Инициализация ридера HDIMAGE (под правами root):
В каких ОС семейства Unix работает КриптоПро CSP версий 3. 0 и 3
КриптоПро CSP версии 3.0 работает под управлением операционных систем: — Red Hat Linux 7, 9 (платформа ia32) — FreeBSD 5 (платформа ia32) — Solaris 9 Update 4 (платформы sparc, ia32).
КриптоПро CSP версии 3.6 работает под управлением операционных систем: — FreeBSD 7/8 (платформа ia32) — Solaris 9/10 (платформы sparc, ia32, x64) — AIX 5/6 (платформа Power PC) — ALT Linux Server (платформы ia32, x64) — Debian (платформы ia32, х64) — Trustverse Linux XP (платформа ia32) — SPLAT (платформы ia32, х64)
Источник
Установка КриптоПро 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 |
Какие ОС удовлетворяют стандарту Linux Standard Base ISO/IEC 23360 (LSB 3. 0, 3. 1)? Где я могу посмотреть список?
По сотстоянию на момент сертификации в этот список входили:
Программно-аппаратные среды, удовлетворяющие стандарту LSB 3.1: — Asianux Server 3 (ia32, x86-64) — Bharat Operating System Solutions (BOSS) Linux 1.0 (ia32) — Bharat Operating System Solutions (BOSS) Linux 2.0 (ia32) — Booyo 2.5 (ia32, x64) — Linpus Linux 9.4 (ia32) — Linpus Linux 9.5 (ia32, x64) — Mandriva Linux 2007.0 (ia32) — Mandriva Linux Corporate Desktop 4.0 (ia32) — Mandriva Linux Corporate Server 4.0 (ia32)
Мой дистрибутив Linux не входит в список поддерживаемых, но я очень хочу поставить туда CSP. Как мне это сделать?
Попробуйте сначала поставть пакеты совместимости с LSB 3.0 или 3.1 из состава Вашего дистрибутива (названия могут несколько варьироваться, обычно lsb-3.0, lsb-3.1, lsb-base, lsb-core), а затем установить CSP.
ВНИМАНИЕ: установка CSP на неподдерживаемую ОС не будет являться сертифицированным решением и не поддерживается.