This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Где скачать и как установить КриптоПро CSP 5! Как активировать Криптопро.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
086d4f6 Jan 8, 2023
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
January 8, 2023 13:05
January 8, 2023 13:05
January 8, 2023 13:05
December 19, 2020 17:13
January 8, 2023 12:49
March 28, 2020 21:11
March 28, 2020 21:11
March 28, 2020 21:11
March 29, 2020 10:05
January 6, 2023 22:32
March 28, 2020 21:11
January 6, 2023 22:32
April 5, 2020 18:27
January 6, 2023 22:32
March 28, 2020 21:11
March 28, 2020 21:11
March 28, 2020 21:11
January 8, 2023 13:05
January 8, 2023 13:05
March 28, 2020 21:11
March 28, 2020 21:11
March 28, 2020 21:11
March 28, 2020 21:11
README.md
Единое, асинхронное API для взаимодействия с КриптоПРО ЭЦП Browser Plug-In
v45+ с расширением CryptoPro Extension for CAdES Browser Plug-in | v43+. Начиная с версии 52, с расширением | v9+ с установленным КриптоПро ЭЦП Browser plug-in | v40+ с расширением CryptoPro Extension for CAdES Browser Plug-in |
- cryptoPro
- Зачем мне этот пакет?
- Установка
- API
- Методы объекта cryptoPro
- Методы объекта сертификата
- Тэг script (UMD)
- Angular (ES Modules + Typescript)
- React (ES Modules + JavaScript)
- Запуск режима разработки
- Запуск тестов
- Проверка работы примеров с React и Angular
- Проверка пакета перед публикацией в NPM
- Установка КриптоПРО CSP в Linux / OSX
- Установка КриптоПРО ЭЦП browser plug-in в Linux
- Настройка плагина для Firefox (до версии 52)
Зачем мне этот пакет?
Установка КриптоПро 4.0 и зачем он нужен.
КриптоПРО ЭЦП Browser Plug-In доступен в разных браузерах в двух версиях. Асинхронной (в современных браузерах) и синхронной (в браузерах постарше). С помощью этого пакета можно не писать реализацию под каждую версию плагина дважды. И вместо этого и этого написать это (UMD):
или это (ES Modules + Typescript):
npm install crypto-pro
yarn add crypto-pro
bower install crypto-pro
Подключение пакета как UMD модуля через тэг script:
script src pl-s»>crypto-pro/dist/crypto-pro.min.js»>script> script> window.cryptoPro.getUserCertificates() .then(function (certificates) //. >) .catch(function (error) //. >); script>
Подключение пакета как ES модуля с Typescript или JavaScript:
import getUserCertificates, Certificate > from ‘crypto-pro’; (async () => let certificates: Certificate[]; try certificates = await getUserCertificates(); > catch(error) // . > >)();
Список требуемых полифиллов (если необходимы, подключаются самостоятельно):
- Promise
- Array.prototype.find
Методы объекта cryptoPro
- getUserCertificates — возвращает список сертификатов, доступных пользователю в системе
- getCertificate — возвращает сертификат по отпечатку
- createAttachedSignature — создает совмещенную (присоединенную) подпись сообщения
- createDetachedSignature — создает отсоединенную (открепленную) подпись сообщения
- createXMLSignature — создает XML подпись для документа в формате XML
- createHash — создает хеш сообщения по ГОСТ Р 34.11-2012 256 бит
- createSignature — создает подпись сообщения
Является устаревшим и будет убран из будущих версий. Используйте «createAttachedSignature» и «createDetachedSignature».
Методы объекта сертификата
Сертификат предоставляет следущее API:
- isValid — возвращает флаг действительности сертификата
- getCadesProp — возвращает указанное внутренее свойство у сертификата в формате Cades
- exportBase64 — возвращает сертификат в формате base64
- getAlgorithm — возвращает информацию об алгоритме сертификата
- getOwnerInfo — возвращает расшифрованную информацию о владельце сертификата
- getIssuerInfo — возвращает расшифрованную информацию об издателе сертификата
- getExtendedKeyUsage — возвращает ОИД’ы сертификата
- getDecodedExtendedKeyUsage — возвращает расшифрованные ОИД’ы
- hasExtendedKeyUsage — проверяет наличие ОИД’а (ОИД’ов) у сертификата
КриптоПРО CSP (v4.0+) рекомендуется использование только сертифицированных версий. Инструкция по установке:
- Linux / OSX
- (в Windows следуйте указаниям программы-установщика)
Инструкция по установке плагина в Linux. В Windows и OSX следуйте указаниям программы-установщика.
Инструкция по установке сертификатов в систему для Linux / OSX.
Для их запуска необходим NodeJS версии, указанной в .nvmrc.
cd examples/script-tag npm i npm start
Angular (ES Modules + Typescript)
cd examples/angular npm i
Запуск в режиме разработки:
npm start
Запуск в продакшн режиме:
npm run build npm run serve
React (ES Modules + JavaScript)
cd examples/react npm i
Запуск в режиме разработки:
npm start
Запуск в продакшн режиме:
npm run build npm run serve
Миграция с версии 1 на 2
Внесены следующие изменения:
- Пакет собран в форматах:
- UMD, в папке dist/ , для подключения через тэг script. Объект window.cryptoPro доступен глобально.
- ES Modules, в папке lib/ , для использования с разными системами сборки. Методы API импортируются напрямую из npm пакета.
- getCertsList -> getUserCertificates
- getCert -> getCertificate
- signData -> createSignature
- isValidEDSSettings , isValidCSPVersion , isValidCadesVersion -> isValidSystemSetup
- getProp -> getCadesProp
window.CryptoPro.call(‘getSystemInfo’);
window.cryptoPro.getSystemInfo();
В версии 2 (ES Modules):
import getSystemInfo > from ‘crypto-pro’; getSystemInfo();
Тем, кто хочет помочь
Буду благодарен за расширение/улучшение/доработку API. Вам будут полезны примеры, предоставляемые Крипто ПРО.
Запуск режима разработки
npm i
Во время работы с кодом необходим запущенный сборщик:
npm start
И пример, на котором можно тестировать изменения. Удобнее всего тестировать на примере с тэгом script, тк он отвязан от фреймворков и использует сборку в формате UMD из папки dist/ , постоянно обновляемую пока работает сборщик. Запускаем его таким образом:
cd examples/script-tag npm i npm link ../../ npm start
После выполнения npm link ../../ в директории examples/script-tag/node_modules папка crypto-pro станет ярлыком, указывающим на папку содержащую локально собранный пакет.
Тесты написаны с использованием Jest:
npm test
Проверка работы примеров с React и Angular
React и Angular используют версию сборки пакета в формате ES модулей из директории lib/ . Для их запуска необходимо сначала собрать пакет выполнив:
npm run build
После этого из папки examples/angular или examples/react залинковать пакет:
cd examples/angular npm i npm link ../../
И запустить пример в одном из двух режимов. В режиме разработки:
npm start
или в режиме продакшн:
npm run build npm run serve
Проверка пакета перед публикацией в NPM
Необходимо протестировать работу в заявленных браузерах, сделав это на локально запакованной версии пакета. Для этого собираем пакет:
npm run package mv package ..
Важно переместить папку package куда-нибудь выше для избежания конфликтов при линковке с текущим package.json .
Переходим в любую директорию с примером и создаем там ссылку на только что собранный пакет:
cd examples/script-tag npm link ../../../package
Проверяем работу примеров в режимах разработки и продакшн.
После завершения экспериментов можно удалить глобальную ссылку из директории ../../../package таким образом:
cd ../../../package npm unlink
Установка КриптоПРО CSP в Linux / OSX
Процесс установки в OSX незначительно отличается от Linux, поэтому описание приведено на примере дистрибутива семейства Debian (x64).
Некоторые команды могут потребовать запуска с sudo . Названия файлов и директорий могут отличаться из-за различий в версиях.
После загрузки КриптоПРО CSP для нужной платформы, распакуйте архив:
tar -xzvf linux-amd64_deb.tgz chmod 777 -R linux-amd64_deb/
Запустите скрипт установки:
linux-amd64_deb/install.sh
Проверьте отсутствие cprocsp-rdr-gui :
dpkg -l | grep cprocsp-rdr
Установите дополнительно cprocsp-rdr-gui-gtk :
dpkg -i linux-amd64_deb/cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb
Установка КриптоПРО ЭЦП browser plugin в Linux
mkdir cades_linux_amd64 tar -xzvf cades_linux_amd64.tar.gz -C cades_linux_amd64
Сконвертируйте rpm в deb пакеты при помощи утилиты alien :
apt-get update apt-get install alien cd cades_linux_amd64 alien *
dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb dpkg -i cprocsp-pki-plugin_2.0.0-2_amd64.deb
Проверьте наличие файлов плагина:
ls -la /opt/cprocsp/lib/amd64 | grep libnpcades lrwxrwxrwx 1 root root 19 Окт 21 12:33 libnpcades.so -> libnpcades.so.2.0.0 lrwxrwxrwx 1 root root 19 Окт 21 12:33 libnpcades.so.2 -> libnpcades.so.2.0.0 -rwxr-xr-x 1 root root 2727236 Июн 8 14:33 libnpcades.so.2.0.0
Настройка плагина для Firefox (до версии 52)
После настройки плагина на страницах, запрашивающих работу с ЭП в панели навигации, рядом с url будет кнопка, позволяющая «разрешить и запомнить» использование установленного плагина.
cd /usr/lib/mozilla/plugins cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 ./ ldd libnpcades.so.2.0.0 cp /opt/cprocsp/lib/amd64/libnpcades.so.2.0.0 ./libnpcades.so ldd libnpcades.so
Перезапустите Firefox, и убедитесь в наличии CryptoPRO Cades plugin (см. Menu -> Addons).
Установка сертификатов в Linux
Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 16188003 \.FLASHivanov \.FLASHpetrov \.
FLASHsidorov \.FLASHvasiliev \.FLASHsmirnov OK. Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec
Скопируйте ключевой контейнер \.FLASH.sidorov на жесткий диск:
/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc ‘\.FLASHsidorov’ -contdest ‘\.HDIMAGEsidor’ CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. CryptAcquireContext succeeded.HCRYPTPROV: 38556259 CryptAcquireContext succeeded.HCRYPTPROV: 38770755 Total: SYS: 0,000 sec USR: 0,100 sec UTC: 14,920 sec [ErrorCode: 0x00000000]
Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.
Проверьте наличие нового контейнера \.HDIMAGEsidor :
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 34554467 \.FLASHivanov \.FLASHpetrov \.FLASHsidorov \.
FLASHvasiliev \.FLASHsmirnov \.HDIMAGEsidor OK. Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec [ErrorCode: 0x00000000]
Установите личный сертификат:
/opt/cprocsp/bin/amd64/certmgr -inst -cont ‘\.HDIMAGEsidor’
Возможно в выводе вы ссылку на сертификат УЦ
При необходимости загрузите сертификат удостоверяющего центра и установите его командой:
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file файл сертификата>.crt
После чего, при проверке установленного личного сертификата вы увидите PrivateKey Link: Yes :
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
Источник: github.com
КриптоПро Ngate
КриптоПро NGate — это высокопроизводительный VPN-шлюз на базе протокола TLS, который позволяет безопасно и быстро организовывать защищенный доступ удаленных пользователей к корпоративным ресурсам через незащищенные сети, например, сеть Интернет.
Последнее обновление
20 мая 2019 г.
Безопасность данных
arrow_forward
Чтобы контролировать безопасность, нужно знать, как разработчики собирают ваши данные и передают их третьим лицам. Методы обеспечения безопасности и конфиденциальности могут зависеть от того, как вы используете приложение, а также от вашего региона и возраста. Информация ниже предоставлена разработчиком и в будущем может измениться.
Источник: play.google.com
Статья про КриптоПро
КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.
Загрузка
Архив с программным обеспечением (КриптоПро CSP 3.6 R3) можно загрузить после предварительной регистрации:
linux-ia32.zip (8,8 МБ, для i586)
linux-amd64.zip (9,1 МБ, для x86_64)
По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца
Установка
Распакуйте архив и перейдите в распакованную папку
Проверьте доступность репозиториев для установки или установите вручную пакеты lsb , pcsc-lite , libpcsclite-devel
Под правами пользователя root выполните:
apt-get install lsb-cprocsp-base-3.6.1-4.noarch.rpm lsb-cprocsp-rdr-3.6.1-4.i486.rpm lsb-cprocsp-capilite-3.6.1-4.i486.rpm lsb-cprocsp-kc1-3.6.1-4.i486.rpm
Для КриптоПро CSP 3.6 R2 потребуется установить пакет cprocsp-compat-altlinux-1.0.0-1.noarch.rpm
Для установки cprocsp-rdr-gui может понадобиться libXm.so.3 ( libopenmotif3 ) и для вывода кириллицы fonts-bitmap-cyr_rfx-iso8859-5 .
Для установки cprocsp-rdr-gui-gtk потребуется предварительно установить libpangox-compat .
Прописывание путей к исполняемым файлам
Перед использованием КриптоПро в консоли или в виде файла /etc/profile.d/cryptopro.sh выполните:
export PATH=»$PATH:$(ls -d /opt/cprocsp/bin/*|tr ‘n’ ‘:’)»
Проверка лицензии
Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires: ):
sudo cpconfig -license -view Server license: 36360-U0030-01C97-HQ92Y-1EY1K Expires: 3 month(s) 0 day(s) Client license: 36360-U0030-01C97-HQ92Y-1EY1K Expires: 3 month(s) 0 day(s)
Для установки другой лицензии выполните (под root):
sudo cpconfig -license -set серийный_номер>
Серийный номер следует вводить с соблюдением регистра символов.
Управление персональным сертификатом
Создание
Для создания запроса потребуется:
DN (cn=webserver)
имя контейнера (в локальном хранилище hdimage: \.hdimagewebserver
имя файла запроса webserver.csr
Во время работы программы потребуется нажимать любые кнопки (после запроса «Press keys») и дважды указать пароль на контейнер (после запроса «Password:»).
sudo cryptcp -creatrqst -dn ‘cn=webserver’ -cont ‘\.hdimagewebserver’ webserver.csr CryptCP 3.40 (c) «Crypto-Pro», 2002-2012. Command prompt Utility for file signature and encryption. Press keys. [. ] CryptoPro CSP: Set password on produced container «webserver».
Password: Retype password: Request is saved in file. [ReturnCode: 0]
Откройте в браузере ссылку http://www.cryptopro.ru/certsrv/certrqxt.asp (тестовый удостоверяющий центр КриптоПро).
Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла webserver.csr и нажмите кнопку «Выдать». Затем сохраните файл по ссылке «Загрузить сертификат» (по умолчанию предлагается имя certnew.cer .
Установите сертификат (введите пароль на контейнер при запросе):
sudo cryptcp -instcert -cont ‘\.hdimagewebserver’ certnew.cer CryptCP 3.40 (c) «Crypto-Pro», 2002-2012. Command prompt Utility for file signature and encryption. CryptoPro CSP: Type password for container «webserver» Password: Certificate is installed. [ReturnCode: 0]
Просмотр
Удаление
certmgr -delete 1
certmgr -delete -cont ‘\.hdimagewebserver’
Источник: pushorigin.ru