КриптоПро: различия между версиями

Материал из ALT Linux Wiki
Строка 128: Строка 128:
Просмотр доступных ридеров:
Просмотр доступных ридеров:


<source lang="Bash">csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251</source>
<source lang="text" highlight="1">$ csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
 
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
<source lang="text">CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 6679203
CryptAcquireContext succeeded.HCRYPTPROV: 6679203
GetProvParam(...PP_ENUMREADERS...) until it returns false
GetProvParam(...PP_ENUMREADERS...) until it returns false
Строка 151: Строка 150:
Инициализация ридера HDIMAGE (под правами root):
Инициализация ридера HDIMAGE (под правами root):


<source lang="text"># cpconfig -hardware reader -add HDIMAGE store
<source lang="text" highlight="1"># cpconfig -hardware reader -add HDIMAGE store
Adding new reader:
Adding new reader:
Nick name: HDIMAGE
Nick name: HDIMAGE
Строка 163: Строка 162:
Создадим контейнер с именем «''test''» в локальном ридере ''HDIMAGE''.
Создадим контейнер с именем «''test''» в локальном ридере ''HDIMAGE''.


'''<source lang="text">csptest -keyset -provtype 75 -newkeyset -cont '\\.\HDIMAGE\test'</source>'''
<source lang="text" highlight="1">csptest -keyset -provtype 75 -newkeyset -cont '\\.\HDIMAGE\test'</source>


При установленном пакете {{pkg|cprocsp-rdr-gui-gtk}} будет показано графическое окно, где предложат двигать курсором мыши:
При установленном пакете {{pkg|cprocsp-rdr-gui-gtk}} будет показано графическое окно, где предложат двигать курсором мыши:
Строка 196: Строка 195:
==== Просмотр доступных контейнеров ====
==== Просмотр доступных контейнеров ====


'''<source lang="text">csptest -keyset -enum_cont -fqcn -verifyc</source>'''
<source lang="text" highlight="1">csptest -keyset -enum_cont -fqcn -verifyc
<source lang="text">CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679203
AcquireContext: OK. HCRYPTPROV: 6679203
\\.\HDIMAGE\test
\\.\HDIMAGE\test
Строка 208: Строка 207:
==== Удаление контейнера ====
==== Удаление контейнера ====


'''<source lang="text">csptest -keyset -deletekeyset -cont '\\.\HDIMAGE\test'</source>'''
<source lang="text" highlight="1">csptest -keyset -deletekeyset -cont '\\.\HDIMAGE\test'
<source lang="text">CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
Container \\.\HDIMAGE\test deleted.
Container \\.\HDIMAGE\test deleted.
Total: SYS: 0,010 sec USR: 0,240 sec UTC: 0,260 sec
Total: SYS: 0,010 sec USR: 0,240 sec UTC: 0,260 sec
Строка 216: Строка 215:
== Управление сертификатами ==
== Управление сертификатами ==


=== Создание ===
=== Создание запроса ===


Для создания запроса потребуется:
Для создания запроса потребуется:
# DN (cn=webserver)
# DN (cn=Test User5,e=cas@altlinux.org)
# имя контейнера (в локальном хранилище hdimage: {{path|\\.\hdimage\webserver}})
# имя контейнера (в локальном хранилище hdimage: {{path|\\.\HDIMAGE\test}})
# имя файла запроса ({{path|webserver.csr}})
# имя файла запроса ({{path|test5.csr}})
 
{{Attention|Для использования проверки подлинности клиента в браузере потребуется также указать, что запрос создается по ГОСТ 2001 и добавляется тип применения подлинности клиента: {{cmd|-provtype 75 -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2"}}.}}


Во время работы программы потребуется нажимать любые кнопки (после запроса «Press keys») и дважды указать пароль на контейнер (после запроса «Password:»).
'''Таблица 1. Типы применения.'''
{|class="standard"
!OID
!Назначение
|-
|{{term|1.3.6.1.5.5.7.3.1}}||Аутентификация сервера
|-
|{{term|1.3.6.1.5.5.7.3.2}}||Аутентификация клиента
|-
|{{term|1.3.6.1.5.5.7.3.3}}||Подписывание кода
|-
|{{term|1.3.6.1.5.5.7.3.4}}||Защищенная электронная почта
|-
|{{term|1.3.6.1.5.5.7.3.8}}||Простановка штампов времени
|-
|{{term|1.3.6.1.4.1.311.10.5.1}}||Цифровые права
|-
|{{term|1.3.6.1.4.1.311.10.3.12}}||Подписывание документа
|}


<source lang="text"># cryptcp -creatrqst -dn 'cn=webserver' -cont '\\.\hdimage\webserver' webserver.csr
<source lang="text" highlight="1">$ cryptcp -creatrqst -dn "cn=Test User5,e=cas@altlinux.org" -provtype 75 -nokeygen -cont '\\.\HDIMAGE\test' -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test5.req
CryptCP 3.40 (c) "Crypto-Pro", 2002-2012.
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
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.
Request is saved in file.
[ReturnCode: 0]</source>
[ReturnCode: 0]
</source>
 
== Получение сертификата в УЦ и его установка ==
 
Показать содержимое запроса:
<source lang="text" highlight="1">$ cat test5.req
MIIBMDCB4AIBADA2MRMwEQYDVQQDDApUZXN0IFVzZXI1MR8wHQYJKoZIhvcNAQkBFhBjYXNAYWx0
bGludXgub3JnMGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQDq5IAql+tHfVT7r
oz+P5dPgOUVXc7dg91nzGM7fkUBSKlapGO2A2xUDRUBHLtW/hBCiZsxdH3ydhzlZ6nhcbNKgPjA8
BgorBgEEAYI3AgEOMS4wLDAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwCwYDVR0PBAQD
AgTwMAgGBiqFAwICAwNBAFYnhGI6SsCwFRSl5p6EVnM7y6Hx9JGM6BFS4U3xTEGvzMK7yzk9j1kG
EKU7YZO5cFluPuDdi0WuYskhdz4SEg4=</source>
 
* Откройте в браузере ссылку http://www.cryptopro.ru/certsrv (тестовый удостоверяющий центр КриптоПро).
* Нажмите «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64».
* Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла {{path|test5.csr}} и нажмите кнопку «Выдать».
* Сохраните файл по ссылке «Загрузить цепочку сертификатов» (по умолчанию предлагается имя {{path|certnew.p7b}})
 
Просмотреть полученный сертификат:
 
<source lang="text" highlight="1">$ certmgr -list -file certnew.p7b
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores
 
=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject            : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Serial              : 0x2B6E3351FD6EB2AD48200203CB5BA141
SHA1 Hash          : 0x046255290b0eb1cdd1797d9ab8c81f699e3687f3
SubjKeyID          : 15317cb08d1ade66d7159c4952971724b9017a83
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 05/08/2014  13:44:24 UTC
Not valid after    : 05/08/2019  13:54:03 UTC
PrivateKey Link    : No                 
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject            : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash          : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID          : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 28/06/2016  10:22:36 UTC
Not valid after    : 28/09/2016  10:32:36 UTC
PrivateKey Link    : No                 
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================
 
[ErrorCode: 0x00000000]
</source>
 
Установите сертификат удостоверяющего центра:
 
<source lang="text" highlight="1">$ certmgr -inst -file certnew.p7b -store uRoot</source>
 
(нажмите 1)
 
Установите сертификат клиента (введите пароль на контейнер \\.\HDIMAGE\test при запросе):


Откройте в браузере ссылку http://www.cryptopro.ru/certsrv/certrqxt.asp (тестовый удостоверяющий центр КриптоПро).
<source lang="text" highlight="1">$ certmgr -inst -file certnew.p7b -store uMy -cont '\\.\HDIMAGE\test' -inst_to_cont</source>
вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла {{path|webserver.csr}} и нажмите кнопку «Выдать». Затем сохраните файл по ссылке «Загрузить сертификат» (по умолчанию предлагается имя {{path|certnew.cer}}).


Установите сертификат (введите пароль на контейнер при запросе):
(нажмите 2)
<source lang="text"># cryptcp -instcert -cont '\\.\hdimage\webserver' 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]</source>


=== Просмотр ===
=== Просмотр сертификатов ===


<source lang="text"># certmgr -list
<source lang="text" highlight="1">$ certmgr -list  
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores
program for managing certificates, CRLs and stores
Строка 256: Строка 323:
=============================================================================
=============================================================================
1-------
1-------
Issuer           : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO
Issuer             : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject           : CN=webserver
Subject             : CN=Test User5, E=cas@altlinux.org
Serial           : 0x28840500020011AA2550
Serial             : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash         : 0x744fdc41b8d1b9132120a2bdc706b46cfb6d9e8c
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
Not valid before : 29/10/2013 09:32:21 UTC
SubjKeyID          : 6f7507353601d6d943f1406aae60c21ab65190e0
Not valid after   : 04/10/2014 07:09:41 UTC
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PrivateKey Link   : Yes. Container : HDIMAGE\\webserve.000\D0FF
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before   : 28/06/2016 10:22:36 UTC
Not valid after     : 28/09/2016 10:32:36 UTC
PrivateKey Link     : Yes                
Container           : HDIMAGE\\test.000\2EF8
Provider Name      : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info      : ProvType: 75, KeySpec: 1, Flags: 0x0
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================
=============================================================================


Строка 269: Строка 344:
=== Удаление ===
=== Удаление ===


Удаление сертификата
Удалить сертификат
certmgr -delete 1
<source lang="text" highlight="1">$ certmgr -delete</source>


Удаление контейнера:
(нажмите 1)
certmgr -delete -cont '\\.\hdimage\webserver'


=== Размещение контейнеров ===
Удалить все сертификаты:
 
<source lang="text" highlight="1-2">$ certmgr -delete -all
Контейнеры HDIMAGE: {{path|/var/opt/cprocsp/keys/<имя пользователя>/}}
$ certmgr -delete -store uroot</source>


<!--
=== Сохранение сертификата в файле ===
=== Сохранение сертификата в файле ===


Строка 288: Строка 363:
[ReturnCode: 0]</source>
[ReturnCode: 0]</source>


<!--
== Импорт персонального сертификата ==
== Импорт персонального сертификата ==



Версия от 12:25, 5 июля 2016

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


О КриптоПро

КриптоПро — линейка криптографических утилит (вспомогательных программ) — так называемых криптопровайдеров. Они используются во многих программах российских разработчиков для генерации ЭЦП, работы с сертификатами, организации структуры PKI и т.д.

Сайт: http://www.cryptopro.ru/

Если читатель думает, что, установив КриптоПро, он может без проблем входить на сайты электронных торговых площадок и подписывать ЭЦП документы, то это не совсем так:

«Работать на платформах, отличных от windows, с данными площадками Вы к сожалению не сможете. Разрабатываемый Ростелекомом плагин для госуслуг не поддерживает работу с нашим криптопровайдером на linux\MacOS. Если же посмотреть в перечень ПО для работы с закрытой частью сайта закупки.гов.ру, то там требуется установка некоего компонента подписи (разраб. Ланит) и использование IE.»[1]

Совместимость

По информации разработчика, с ALT Linux совместимы следующие продукты КриптоПро:

  • КриптоПро CSP
  • КриптоПро JCP
  • КриптоПро HSM
  • КриптоПро TSP
  • КриптоПро OCSP
  • КриптоПро ЭЦП Browser plug-in
  • КриптоПро SSF
  • КриптоПро Stunnel
  • Браузер КриптоПро Fox
Примечание: В репозитории доступен пакет firefox-gost, аналогичный КриптоПро Fox, с патчем от КриптоПро.


Установка

Загрузка

Архив с программным обеспечением (КриптоПро CSP 4.0) можно загрузить после предварительной регистрации:

  • linux-ia32.zip (18 МБ, для i586)
  • linux-amd64.zip (18 МБ, для x86_64)
Внимание! По умолчанию при скачивании с сайта КриптоПро выдаётся лицензия на три месяца


Установка пакетов

1. Распакуйте архив и перейдите в распакованную папку

2. Установите пакет cryptopro-preinstall:

# apt-get install cryptopro-preinstall

Этот пакет установит все требуемое для КриптоПро (включая инфраструктуру поддержки карт Рутокен S и Рутокен ЭЦП).

Примечание: Пакет cryptopro-preinstall вытягивает зависимости lsb, libpangox-compat, opensc, pcsc-lite, pcsc-lite-rutokens, pcsc-lite-ccid.


Пакет Описание
Базовые пакеты:
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 установите базовые пакеты:

# apt-get install cprocsp-curl* lsb-cprocsp-base* lsb-cprocsp-capilite* lsb-cprocsp-kc1* lsb-cprocsp-rdr*

для поддержки токенов (Рутокен S и Рутокен ЭЦП):

# apt-get install cprocsp-rdr-gui-gtk* cprocsp-rdr-rutoken* cprocsp-rdr-pcsc* lsb-cprocsp-pkcs11* pcsc-lite-rutokens pcsc-lite-ccid

Примечания:

  • Можно установить пакет newt52 и запустить ./install_gui.sh в распакованном каталоге
  • Для КриптоПро 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.

Прописывание путей к исполняемым файлам

Чтобы каждый раз не вводить полный путь к утилитам КриптоПро:

  • установите пакет cryptopro-preinstall и начните новый сеанс в консоли

или

  • выполните:
export PATH="$(/bin/ls -d /opt/cprocsp/{s,}bin/*|tr '\n' ':')$PATH"
Внимание! Если установлен пакет mono или mono4-devel, может быть конфликт по имени утилиты certmgr


Проверка лицензии

Проверить срок истечения лицензии можно командой (обратите внимание на строки Expires:):

$ cpconfig -license -view
License validity:
4040E-G0037-EK8R3-C6K4U-HCXQG
Expires: 2 month(s) 23 day(s)
License type: Server.
Примечание: Для версии КриптоПро CSP под Linux все лицензии считаются серверными, поэтому не смущайтесь строкой «License type: Server».


Для установки другой лицензии выполните (под root):

$ cpconfig -license -set <серийный_номер>
Примечание: Серийный номер следует вводить с соблюдением регистра символов.


Работа с КриптоПро

Управление ридерами

Ридеры (readers) — устройства размещения контейнеров (аппаратные токены, каталог для размещения файлов).

Просмотр доступных ридеров:

$ csptest -enum -info -type PP_ENUMREADERS | iconv -f cp1251
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 6679203
GetProvParam(...PP_ENUMREADERS...) until it returns false
  Len    Byte  NickName/Name
_____________________________
 0x012a  0x72  ACS ACR38U-CCID 00 00
               All PC/SC readers
 0x012a  0x72  Aktiv Co. Rutoken S 00 00
               All PC/SC readers
 0x012a  0x58  FLASH
               FLASH
 0x012a  0x18  HDIMAGE
               Структура дискеты на жестком диске
Cycle exit when getting data. 4 items found. Level completed without problems.
Total: SYS: 0,000 sec USR: 0,170 sec UTC: 0,190 sec
[ErrorCode: 0x00000000]

Ридер HDIMAGE размещается на /var/opt/cprocsp/keys/<имя пользователя>/

Инициализация ридера HDIMAGE (под правами root):

# cpconfig -hardware reader -add HDIMAGE store
Adding new reader:
Nick name: HDIMAGE
Succeeded, code:0x0

Управление контейнерами

Создание контейнера

Примечание: Для того, чтобы сертификат из контейнера можно было использовать через модуль pkcs11 (из пакета lsb-cprocsp-pkcs11) в браузере firefox-gost, необходимо создать его с -provtype 75 (поддержка ГОСТ-2001)


Создадим контейнер с именем «test» в локальном ридере HDIMAGE.

csptest -keyset -provtype 75 -newkeyset -cont '\\.\HDIMAGE\test'

При установленном пакете cprocsp-rdr-gui-gtk будет показано графическое окно, где предложат двигать курсором мыши:

Cryptopro-newkeyset.png

Примечание: Если такой пакет не установлен, будет предложено ввести любые символы с клавиатуры


После показа окна будет предложено указать пароль на контейнер (можно указать пустой, тогда пароль запрашиваться не будет) и снова предложат двигать курсором мыши.

CSP (Type:75) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679219
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "card"
Signature key is not available.
Attempting to create a signature key...
a signature key created.
Exchange key is not available.
Attempting to create an exchange key...
an exchange key created.
Keys in container:
  signature key
  exchange key
Extensions:
  OID: 1.2.643.2.2.37.3.9

  OID: 1.2.643.2.2.37.3.10
Total: SYS: 0,030 sec USR: 0,160 sec UTC: 22,910 sec
[ErrorCode: 0x00000000]

Просмотр доступных контейнеров

csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 6679203
\\.\HDIMAGE\test
OK.
Total: SYS: 0,000 sec USR: 0,070 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]

Локальный контейнер создан.

Удаление контейнера

csptest -keyset -deletekeyset -cont '\\.\HDIMAGE\test'
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
Container \\.\HDIMAGE\test deleted.
Total: SYS: 0,010 sec USR: 0,240 sec UTC: 0,260 sec
[ErrorCode: 0x00000000]

Управление сертификатами

Создание запроса

Для создания запроса потребуется:

  1. DN (cn=Test User5,e=cas@altlinux.org)
  2. имя контейнера (в локальном хранилище hdimage: \\.\HDIMAGE\test)
  3. имя файла запроса (test5.csr)
Внимание! Для использования проверки подлинности клиента в браузере потребуется также указать, что запрос создается по ГОСТ 2001 и добавляется тип применения подлинности клиента: -provtype 75 -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2".


Таблица 1. Типы применения.

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 Подписывание документа
$ cryptcp -creatrqst -dn "cn=Test User5,e=cas@altlinux.org" -provtype 75 -nokeygen -cont '\\.\HDIMAGE\test' -certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test5.req
CryptCP 4.0 (c) "Crypto-Pro", 2002-2015.
Command prompt Utility for file signature and encryption.
Request is saved in file.
[ReturnCode: 0]

Получение сертификата в УЦ и его установка

Показать содержимое запроса:

$ cat test5.req
MIIBMDCB4AIBADA2MRMwEQYDVQQDDApUZXN0IFVzZXI1MR8wHQYJKoZIhvcNAQkBFhBjYXNAYWx0
bGludXgub3JnMGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQDq5IAql+tHfVT7r
oz+P5dPgOUVXc7dg91nzGM7fkUBSKlapGO2A2xUDRUBHLtW/hBCiZsxdH3ydhzlZ6nhcbNKgPjA8
BgorBgEEAYI3AgEOMS4wLDAdBgNVHSUEFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwCwYDVR0PBAQD
AgTwMAgGBiqFAwICAwNBAFYnhGI6SsCwFRSl5p6EVnM7y6Hx9JGM6BFS4U3xTEGvzMK7yzk9j1kG
EKU7YZO5cFluPuDdi0WuYskhdz4SEg4=
  • Откройте в браузере ссылку http://www.cryptopro.ru/certsrv (тестовый удостоверяющий центр КриптоПро).
  • Нажмите «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64».
  • Вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла test5.csr и нажмите кнопку «Выдать».
  • Сохраните файл по ссылке «Загрузить цепочку сертификатов» (по умолчанию предлагается имя certnew.p7b)

Просмотреть полученный сертификат:

$ certmgr -list -file certnew.p7b
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Serial              : 0x2B6E3351FD6EB2AD48200203CB5BA141
SHA1 Hash           : 0x046255290b0eb1cdd1797d9ab8c81f699e3687f3
SubjKeyID           : 15317cb08d1ade66d7159c4952971724b9017a83
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 05/08/2014  13:44:24 UTC
Not valid after     : 05/08/2019  13:54:03 UTC
PrivateKey Link     : No                  
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID           : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 28/06/2016  10:22:36 UTC
Not valid after     : 28/09/2016  10:32:36 UTC
PrivateKey Link     : No                  
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

Установите сертификат удостоверяющего центра:

$ certmgr -inst -file certnew.p7b -store uRoot

(нажмите 1)

Установите сертификат клиента (введите пароль на контейнер \\.\HDIMAGE\test при запросе):

$ certmgr -inst -file certnew.p7b -store uMy -cont '\\.\HDIMAGE\test' -inst_to_cont

(нажмите 2)

Просмотр сертификатов

$ certmgr -list 
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=Test User5, E=cas@altlinux.org
Serial              : 0x120012447FA7E652B76808CD7900000012447F
SHA1 Hash           : 0xcb8e7ca68bea0ffbbd84c326d565de68cd8a15f5
SubjKeyID           : 6f7507353601d6d943f1406aae60c21ab65190e0
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 28/06/2016  10:22:36 UTC
Not valid after     : 28/09/2016  10:32:36 UTC
PrivateKey Link     : Yes                 
Container           : HDIMAGE\\test.000\2EF8
Provider Name       : Crypto-Pro GOST R 34.10-2001 KC1 CSP
Provider Info       : ProvType: 75, KeySpec: 1, Flags: 0x0
Extended Key Usage  : 1.3.6.1.5.5.7.3.4
                      1.3.6.1.5.5.7.3.2
=============================================================================

[ErrorCode: 0x00000000]

Удаление

Удалить сертификат

$ certmgr -delete

(нажмите 1)

Удалить все сертификаты:

$ certmgr -delete -all
$ certmgr -delete -store uroot


Плагин Cades

Плагин проверки ЭЦП для браузера требует установленного КриптоПро CSP. Инструкция на сайте производителя: http://www.cryptopro.ru/cadesplugin/Manual.aspx

1. Скачиваем архив по ссылке http://www.cryptopro.ru/products/cades/plugin/get

Примечание: Будет скачен архив под архитектуру браузера.


2. Распаковываем архив, устанавливаем пакеты:

- сначала из дистрибутива КриптоПро:

apt-get install lsb-cprocsp-cades-3.6.1-4.i486.rpm \
lsb-cprocsp-ocsp-util-3.6.1-4.i486.rpm \
lsb-cprocsp-tsp-util-3.6.1-4.i486.rpm

- затем сам плагин:

apt-get install cprocsp-npcades-*.rpm

3. Копируем библиотеки:

на 32-битной системе:

cp /opt/cprocsp/lib/ia32/libncades.so* /usr/lib/browser-plugins/

на 64-битной системе:

cp /opt/cprocsp/lib/amd64/libncades.so* /usr/lib64/browser-plugins/

4. В Mozilla Firefox или Chromium перезапустите браузер и откройте адрес about:plugins. Убедитесь, что плагин установлен. На странице http://www.cryptopro.ru/cadesplugin/Manual.aspx справа вверху должна появится надпись:

Плагин загружен

и появится ссылка «Демо-страница».

Внимание! Под Firefox 17.0.6 плагин падает. Более новые версии работают.


На странице работает только усовершенствованная подпись при следующих условиях:

  • для tsputil и ocsputil есть валидные коммерческие лицензии (запустите программы с командой license, установка лицензии с параметрами license -s <серийный номер>)

При создании обычной подписи показывается ошибка[2]:

Не удалось создать подпись из-за ошибки: Internal error. (0x800B010A)

КриптоПро JCP

  • Для установки КриптоПро JCP нужно установить Oracle Java 1.7.0 (через собственную сборку или пакеты для Fedora)
  • Распакуйте архив и перейдите в каталог
  • Выполните
./install.sh /usr/java/jre1.7.0_51 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX "Your Company"

Поддержка Рутокена

java -jar rtjlib.jar -install -rutoken

Запуск контрольной панели

./ControlPane.sh /usr

(требует графического дисплея)

Используемая литература

  • ЖТЯИ.00050-03 90 02-02. СКЗИ «КриптоПро CSP». Руководство администратора безопасности. Использование СКЗИ под управлением ОС Linux (из электронной документации по КриптоПро; доступно для скачивания с демонстрационной версией)
  • ЖТЯИ.00050-03 90 07. КриптоПро CSP. Приложение командной строки
  • Инструкция по установке Крипто-Про УЭК