mirror of
				https://github.com/crypto-pro-web/crypto-pro-js.git
				synced 2025-10-31 06:13:22 +03:00 
			
		
		
		
	Более детальный README
This commit is contained in:
		
							parent
							
								
									05bf49a03c
								
							
						
					
					
						commit
						d1a772bca8
					
				
							
								
								
									
										171
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										171
									
								
								README.md
									
									
									
									
									
								
							| @ -1,14 +1,179 @@ | ||||
| ## CryptoPro | ||||
| 
 | ||||
| # CryptoPro | ||||
| Единое, асинхронное API для взаимодействия с КриптоПРО ЭЦП Browser Plug-In (IE8+) | ||||
| 
 | ||||
| ## Поддерживаемые браузеры | ||||
| - [Google Chrome](https://www.google.ru/chrome/browser/desktop/) (v45+) с расширением [CryptoPro Extension for CAdES Browser Plug-in](https://chrome.google.com/webstore/detail/cryptopro-extension-for-c/iifchhfnnmpdbibifmljnfjhpififfog?utm_source=chrome-app-launcher-info-dialog) | ||||
| - [Opera](https://www.google.ru/chrome/browser/desktop/) (v40+) с расширением [CryptoPro Extension for CAdES Browser Plug-in](https://addons.opera.com/en/extensions/details/cryptopro-extension-for-cades-browser-plug-in/) | ||||
| - [Mozilla Firefox](https://www.mozilla.org/ru/firefox/new/) (v43+). | ||||
| - [Internet Explorer](http://windows.microsoft.com/ru-ru/internet-explorer/download-ie) (v8+). | ||||
| 
 | ||||
| Полифиллы необходимо подключать самостоятельно. | ||||
| 
 | ||||
| ## Установка и настройка | ||||
| ```bash | ||||
| npm install crypto-pro | ||||
| ``` | ||||
| 
 | ||||
| Для корректной работы используйте: | ||||
| 1. [КриптоПРО CSP](https://www.cryptopro.ru/products/csp/downloads) (v3.6+) *рекомендуется использование только сертифицированных версий*. Инструкция по установке: | ||||
|     - [Linux / OSX](#install_csp_linux) | ||||
|     - (в Windows следуйте указаниям программы-установщика) | ||||
| 1. [КриптоПРО ЭЦП browser plug-in](https://www.cryptopro.ru/products/cades/plugin) (v1.5+). Инструкция по установке: | ||||
|    - [Linux](#install_plugin_linux) | ||||
|    - (в Windows и OSX следуйте указаниям программы-установщика) | ||||
| 
 | ||||
| Затем установите необходимые сертификаты в систему. [Инструкция](#install_cert_linux) для Linux / OSX. | ||||
| 
 | ||||
| ### <a name="install_csp_linux"></a> Установка КриптоПРО CSP в Linux / OSX  | ||||
| > Процесс установки в OSX незначительно отличается от Linux, поэтому описание приведено на примере дистрибутива семейства Debian (x64).   | ||||
| 
 | ||||
| Некоторые команды могут потребовать запуска с `sudo`. | ||||
| Названия файлов и директорий могут отличаться из-за различий в версиях. | ||||
| 
 | ||||
| После загрузки [КриптоПРО CSP](https://www.cryptopro.ru/products/csp/downloads) для нужной платформы, распакуйте архив: | ||||
| ```bash | ||||
| tar -xzvf linux-amd64_deb.tgz | ||||
| chmod 777 -R linux-amd64_deb/ | ||||
| ``` | ||||
| 
 | ||||
| Запустите скрипт установки: | ||||
| ```bash | ||||
| linux-amd64_deb/install.sh | ||||
| ``` | ||||
| 
 | ||||
| Проверьте **отсутствие** `cprocsp-rdr-gui`: | ||||
| ```bash | ||||
| dpkg -l | grep cprocsp-rdr | ||||
| ``` | ||||
| 
 | ||||
| Установите дополнительно `cprocsp-rdr-gui-gtk`: | ||||
| ```bash | ||||
| dpkg -i linux-amd64_deb/cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb | ||||
| ``` | ||||
| 
 | ||||
| [Дополнительная информация по установке](https://www.cryptopro.ru/faq/gde-vzyat-dokumentatsiyu-po-ustanovke-kakie-pakety-stavit) | ||||
| 
 | ||||
| ### <a name="install_plugin_linux"></a> Установка КриптоПРО ЭЦП browser plug-in в Linux | ||||
| Загрузите [КриптоПРО ЭЦП browser plug-in](https://www.cryptopro.ru/products/cades/plugin) и распакуйте его: | ||||
| ```bash | ||||
| mkdir cades_linux_amd64 | ||||
| tar -xzvf cades_linux_amd64.tar.gz -C cades_linux_amd64 | ||||
| ``` | ||||
| 
 | ||||
| Сконвертируйте `rpm` в `deb` пакеты при помощи утилиты `alien`: | ||||
| ```bash | ||||
| apt-get update && apt-get install alien | ||||
| cd cades_linux_amd64 | ||||
| alien * | ||||
| ``` | ||||
| 
 | ||||
| Установите пакеты: | ||||
| ```bash | ||||
| dpkg -i cprocsp-pki-cades_2.0.0-2_amd64.deb | ||||
| dpkg -i cprocsp-pki-plugin_2.0.0-2_amd64.deb | ||||
| ``` | ||||
| 
 | ||||
| Проверьте наличие файлов плагина: | ||||
| ```bash | ||||
| 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: | ||||
| > После настройки плагина на страницах, запрашивающих работу с ЭП в панели навигации, рядом с url будет кнопка, | ||||
|   позволяющая "разрешить и запомнить" использование установленного плагина. | ||||
| ##### В Firefox до версии 52 | ||||
| ```bash | ||||
| 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). | ||||
| 
 | ||||
| ##### В Firefox начиная с версии 52 | ||||
| Используйте [расширение](https://www.cryptopro.ru/sites/default/files/products/cades/extensions/cryptopro_extension_for_cades_browser_plug_in-1.1.1-an+fx-windows.xpi). | ||||
| 
 | ||||
| ### <a name="install_cert_linux"></a> Установка сертификатов в Linux | ||||
| > В OSX процесс схож с Linux. | ||||
| 
 | ||||
| Подключите USB носитель с ключевыми контейнерами и проверьте результат команды: | ||||
| ```bash | ||||
| /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 | ||||
|         \\.\FLASH\ivanov | ||||
|         \\.\FLASH\petrov | ||||
|         \\.\FLASH\sidorov | ||||
|         \\.\FLASH\vasiliev | ||||
|         \\.\FLASH\smirnov | ||||
|         OK. | ||||
|         Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec | ||||
| ``` | ||||
| 
 | ||||
| Скопируйте ключевой контейнер `\\.\FLASH\.\sidorov` на жесткий диск: | ||||
| ```bash | ||||
| /opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\\.\FLASH\sidorov' -contdest '\\.\HDIMAGE\sidor' | ||||
| 
 | ||||
|     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] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении. | ||||
| 
 | ||||
| Проверьте наличие нового контейнера `\\.\HDIMAGE\sidor`: | ||||
| ```bash | ||||
| /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 | ||||
|     \\.\FLASH\ivanov | ||||
|     \\.\FLASH\petrov | ||||
|     \\.\FLASH\sidorov | ||||
|     \\.\FLASH\vasiliev | ||||
|     \\.\FLASH\smirnov | ||||
|     \\.\HDIMAGE\sidor | ||||
|     OK. | ||||
|     Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec | ||||
|     [ErrorCode: 0x00000000] | ||||
| ``` | ||||
| 
 | ||||
| Установите личный сертификат: | ||||
| ```bash | ||||
| /opt/cprocsp/bin/amd64/certmgr -inst -cont '\\.\HDIMAGE\sidor' | ||||
| ``` | ||||
| > Возможно в выводе вы ссылку на сертификат УЦ | ||||
| 
 | ||||
| При необходимости загрузите сертификат удостоверяющего центра и установите его командой: | ||||
| ```bash | ||||
| /opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file <файл сертификата>.crt | ||||
| ``` | ||||
| 
 | ||||
| После чего, при проверке установленного личного сертификата вы увидите `PrivateKey Link: Yes`: | ||||
| ```bash | ||||
| /opt/cprocsp/bin/amd64/certmgr -list -store uMy | ||||
| ``` | ||||
| 
 | ||||
| ## API | ||||
| Пример работы с API лежит в папке `example`. | ||||
| 
 | ||||
| ``` js | ||||
| CryptoService.call('getCertsList').then(function (certList) { | ||||
|     console.log(certList); | ||||
| }); | ||||
| ``` | ||||
| 
 | ||||
| Полифиллы необходимо подключать самостоятельно. | ||||
| ### Доступные методы | ||||
| Список доступных методов можно посмотреть в файле `src/apiAsync.js`. | ||||
| 
 | ||||
| ### License | ||||
| Licensed as MIT. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Vitalii Goma
						Vitalii Goma