- Работа с КриптоПро на linux сервере
- Ссылки
- Лицензия
- Корневые сертификаты
- Сертификаты
- Список установленных сертификатов
- Добавление реального сертификата
- Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
- Способ с дискетой или флешкой
- С жесткого диска
- Проверка успешности установки закрытого ключа
- Добавление тестового сертификата
- Удаление сертификата
- Проверка сертификата
- Просмотр всех атрибутов сертификата
- Экспорт сертификатов на другую машину
- Подписание документа ЭЦП
- Проверка подписи ЭЦП
- Получение исходного файла
- Где взять документацию по установке? Какие пакеты ставить?
- Почему не работает команда csptest -keycopy -src cont ‘\.\FLASH\qwerty’ -d cont ‘\.\HDIMAGE\qwerty’ ?
- У меня есть сертификат и ключи. Почему у меня не получается установить сертификат при помощи cryptcp -instcert?
- При запуске любой утилиты из дистрибутива CSP я получаю ошибку: “/usr/lib/libcurl.so: cannot open shared object: No such file or directory”. Как это исправить?
- Какие есть готовые утилиты для работы с CSP и где взять на них документацию?
- В какую директорию устанавливается CSP? Где я могу найти утилиты для работы с CSP?
- Я хочу использовать готовые утилиты из состава КриптоПро CSP для работы с шифрованием и подписями. Какие пакеты мне для этого нужно поставить?
- Как сделать новые закрытые ключи?
- Как проверить, работоспособен ли контейнер с закрытыми ключами?
- Как посмотреть список закрытых ключей?
- Почему не работает команда csptest -keycopy -src cont ‘\.\FLASH\qwerty’ -d cont ‘\.\HDIMAGE\qwerty’ ?
- Как сделать новые закрытые ключи?
- Как проверить, работоспособен ли контейнер с закрытыми ключами?
- Как посмотреть список закрытых ключей?
- Как в Linux/Unix установить сертификаты?
- Как скопировать ключи с дискеты/флешки на HDIMAGE?
- Что такое ключевой контейнер? Зачем нужен пароль на контейнер?
- КРИПТО-ПРО на Linux Centos 6
- Установка
- 1. Архив с программным обеспечением
- 2. Установка не отличается сложностью.
- 4. Проверяем лицензию.
- 5. Вставляем ключ eToken и проверяем вывод list_pcsc:
- 6. Добавляем считыватель:
- 7. Просмотр списка настроенных считывателей:
- Создание контейнера.
- 1. Создаём ключевой контейнер:
- 2. Создаём запрос на сертификат:
- 3. Можно (нужно) запросить сертификат в своем центре сертификации.
- 4. Устанавливаем, полученный от УЦ сертификат, в указанный ключевой контейнер:
- 5. Проверка установленного сертификата
- ЭЦП и шифрование файла
- 1. Подпись файла
- 2. Проверка подписи
- 3. Сравнение оригинального и расшифрованного после подписи файла
- 4. Зашифровываем файл:
- 5. Расшифровываем файл
- Работа с токеном.
- Вопросы без ответа
Работа с КриптоПро на linux сервере
Ссылки
Лицензия
Для установки другой лицензии (под root):
Корневые сертификаты
Просмотр корневых сертификатов
Добавление корневых сертификатов (под root) из файла cacer.p7b
Необходимо последовательно добавить все сертификаты
Сертификаты
Список установленных сертификатов
certmgr -list , например:
Добавление реального сертификата
Добавить только сертификат (только проверка ЭЦП):
Добавление реального сертификата с привязкой к закрытому ключу и возможностью подписывать документы
Закрытый ключ состоит из шести key-файлов:
Способ с дискетой или флешкой
Скопировать в корень дискеты или флэшки сертификат и приватный ключ (из каталога 999996.000 , 999996 — название (alias) контейнера):
Выполнить команду по копированию ключа с флэшки на диск, ключ попадет в пользовательское хранилище My .
gate@example.com — то, что прописано в поле E сертификата (можно посмотреть командой keytool —printcert -file /path/to/cert/client.cer ):
С жесткого диска
Скопировать приватный ключ в хранилище (контейнер), где — имя пользователя linux:
Поставить «минимальные» права:
Узнать реальное название контейнера:
Ассоциировать сертификат с контейнером, сертификат попадет в пользовательское хранилище My :
Если следующая ошибка, нужно узнать реальное название контейнера (см. выше):
Установить сертификат УЦ из-под пользователя root командой:
Проверка успешности установки закрытого ключа
Добавление тестового сертификата
Ввести пароль на контейнер test123 .
Ввести пароль на контейнер. По-умолчанию: 12345678
Удаление сертификата
Проверка сертификата
Просмотр всех атрибутов сертификата
В cryptcp нет необходимых инструментов для получения всех атрибутов сертификата. Поэтому следует использовать openssl , но настроив его.
Получаем SHA 1 хеши:
В цикле извлекаем сертификаты:
Настройка openssl для поддержки ГОСТ:
В файл /etc/ssl/openssl.cnf
Экспорт сертификатов на другую машину
Закрытые ключи к сертификатам находятся тут: /var/opt/cprocsp/keys . Поэтому эти ключи переносятся просто: создаем архив и переносим на нужную машину в тот же каталог.
Экспорт самих сертификатов (если их 14):
Переносим эти файлы на машину и смотрим, какие контейнеры есть:
И как обычно, связываем сертификат и закрытый ключ:
Если закрытый ключ и сертификат не подходят друг к другу, будет выведена ошибка:
Если все успешно:
Если нет закрытого ключа, то просто ставим сертификат:
Подписание документа ЭЦП
Пример создания ЭЦП (по SHA1 Hash):
[ReturnCode: x] | Описание | Возвращаемый код завершения в баше $? |
---|---|---|
0 | успешно | 0 |
0x8010006b | Введен неправильный PIN | 107 |
0x2000012d | Сертификат не найден | 45 |
0x20000065 | Не удалось открыть файл | 101 |
Проверка подписи ЭЦП
Для верифицирования сертификатов нужен сертификат удостоверяющего центра и актуальный список отзыва сертификатов, либо настроенный для этого revocation provider.
Корневой сертификат УЦ, список отзыва сертификата является одним из реквизитов самого сертификата.
Контрагенты когда открывают подписи в КриптоАРМ используют revocation provider, он делает проверки отзыва сертификата онлайн. Как реализована проверка в Шарепоинте не знаю. Знаю только что используется библиотека Крипто.Net
Проверка конкретной подписи из локального хранилища по его хешу:
Проверить, взяв сертификат из file1.sig , подпись файла file2.sig . Практически, надо использовать один и тот же файл:
[ReturnCode: x] | Текст | Описание | Возвращаемый код завершения в баше $? |
---|---|---|---|
0 | Успешно | 0 | |
0x80091004 | Invalid cryptographic message type | Неправильный формат файла | 4 |
0x80091010 | The streamed cryptographic message is not ready to return data | Пустой файл | 16 |
Получение исходного файла
Получение исходного файла (сообщения):
Будет ругаться на сертификат (так как не будет проверки), но подпись удалит. Вариант с проверкой:
Источник
Где взять документацию по установке? Какие пакеты ставить?
Инструкции по установке и настройке, а также описание пакетов даны в документе «Руководство администратора безопасности. Linux». Этот документ входит в состав документации на CSP, его можно скачать на странице загрузки CSP или в разделе «Документация»: http://cryptopro.ru/support/docs .
Если у Вас FreeBSD/Solaris/AIX — см. «Руководство администратора безопасности. FreeBSD/Solaris/AIX».
Почему не работает команда csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty’ ?
Проблема может быть в том, что нельзя создавать два контейнера с одинаковым именем.
Попробуйте назвать копию как-нибудь иначе, например:
csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty1’
У меня есть сертификат и ключи. Почему у меня не получается установить сертификат при помощи cryptcp -instcert?
сryptcp -instcert устанавливает сертификат только при условии, что запрос на него был создан на этой же машине этим же пользователем операционной системы при помощи команды cryptsp –creatrqst.
В общем случае, для установки сертификатов рекомендуется использовать утилиту certmgr.
При запуске любой утилиты из дистрибутива CSP я получаю ошибку: “/usr/lib/libcurl.so: cannot open shared object: No such file or directory”. Как это исправить?
Установите пакет curl (рекомендуется использовать версию, которая поставляется вместе с CSP, поскольку работоспособность с этой версией проверена; если вместе с CSP пакет не был получен, установите пакет из репозитория своего дистрибутива или скачайте подходящую версию с сайта: http://curl.haxx.se/download.html ). Затем проверьте, что ссылка из секции [apppath] из файла /etc/opt/cprocsp/config.ini
“libcurl.so” =
указывает на библиотеку libcurl из состава пакета curl ( обычно путь имеет вид /usr/lib/libcurl.so.4 ).
Какие есть готовые утилиты для работы с CSP и где взять на них документацию?
Основными утилитами для работы с CSP версии 3.0 являются cryptcp и storeman; с CSP версии 3.6 – cryptcp и certmgr.
Утилиты storeman и certmgr предназначены для работы с сертификатами и списками отзыва. Их основным назначением является установка сертификатов и списков отзыва, их удаление, просмотр установленных.
Документация по storeman в формате pdf входит в состав документации на CSP. Для certmgr есть man. Для его просмотра наберите
% man 8 certmgr
В какую директорию устанавливается CSP? Где я могу найти утилиты для работы с CSP?
CSP устанавливается в /opt/cprocsp.
Утилиты для работы с функциями криптопровайдера находятся в
/opt/cprocsp/bin/ia32 – если Вы используете архитектуру ia32, и в
/opt/cproscp/bin/x64 – если Вы используете архитектуру x64.
Служебные утилиты находятся в
/opt/cprocsp/sbin/ia32 – если Вы используете архитектуру ia32, и в
/opt/cproscp/sbin/x64 – если Вы используете архитектуру x64.
Конфигурационные файлы находятся в
/etc/opt/cprocsp .
Пользовательская информация (информация об установленных сертификатах, ключи и тому подобное) находится в
/var/opt/cprocsp .
Я хочу использовать готовые утилиты из состава КриптоПро CSP для работы с шифрованием и подписями. Какие пакеты мне для этого нужно поставить?
Для этого нужно установить следующие пакеты в следующем порядке:
lsb-cprocsp-base
lsb-cprocsp-rdr
lsb-cprocsp-kc1
lsb-cprocsp-capilite .
Или, если используется архитектура x64 — соответствующие пакеты для x64. Описание пакетов и инструкции по установке даны в документе «Руководство администратора безопасности. Linux» из документации на CSP. Если Вы используете Solaris/FreeBSD/AIX — см. руководство администратора безопасности для Solaris/FreeBSD/AIX .
Как сделать новые закрытые ключи?
Обычно ключи создаются вместе с запросом на сертификат. Если Вам требуется создать ключи и запрос на сертификат, воспользуйтесь утилитой cryptcp(документация на неё входит в состав документации на CSP, см. раздел «Работа с запросами на сертификат»).
Если требуется просто сделать новые ключи, можно воспользоваться утилитой csptest. Она находится в директории /opt/cprocsp/bin/ .
Создание контейнера пользователя:
csptest -keyset -newkeyset -cont ‘\\.\имя считывателя\имя контейнера’
Создание контейнера компьютера:
Как проверить, работоспособен ли контейнер с закрытыми ключами?
Открыть(проверить) контейнер можно утилитой csptest. Она находится в директории /opt/cprocsp/bin/ :
Открыть(проверить) контейнер пользователя:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’
Открыть(проверить) контейнер компьютера:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’ -machinekeyset
где имя считывателя:
HDIMAGE, если используете жесткий диск для хранения ключей
FLASH, если используете флешку
FAT12_0, если используете дискету
Как посмотреть список закрытых ключей?
Список контейнеров с закрытыми ключами можно посмотреть утилитой csptest. Она находится в директории /opt/cprocsp/bin/
Перечисление контейнеров пользователя:
csptest -keyset -enum_cont -verifycontext -fqcn
Перечисление контейнеров компьютера:
csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys
В полученном списке имена контейнеров будут представлены в том виде, в котором их воспринимают все бинарные утилиты, входящие в дистрибутив CSP (\\.\ \ ).
Источник
Почему не работает команда csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty’ ?
Проблема может быть в том, что нельзя создавать два контейнера с одинаковым именем.
Попробуйте назвать копию как-нибудь иначе, например:
csptest -keycopy -src cont ‘\\.\FLASH\qwerty’ -d cont ‘\\.\HDIMAGE\qwerty1’
Как сделать новые закрытые ключи?
Обычно ключи создаются вместе с запросом на сертификат. Если Вам требуется создать ключи и запрос на сертификат, воспользуйтесь утилитой cryptcp(документация на неё входит в состав документации на CSP, см. раздел «Работа с запросами на сертификат»).
Если требуется просто сделать новые ключи, можно воспользоваться утилитой csptest. Она находится в директории /opt/cprocsp/bin/ .
Создание контейнера пользователя:
csptest -keyset -newkeyset -cont ‘\\.\имя считывателя\имя контейнера’
Создание контейнера компьютера:
Как проверить, работоспособен ли контейнер с закрытыми ключами?
Открыть(проверить) контейнер можно утилитой csptest. Она находится в директории /opt/cprocsp/bin/ :
Открыть(проверить) контейнер пользователя:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’
Открыть(проверить) контейнер компьютера:
csptest -keyset -check -cont ‘\\.\имя считывателя\имя контейнера’ -machinekeyset
где имя считывателя:
HDIMAGE, если используете жесткий диск для хранения ключей
FLASH, если используете флешку
FAT12_0, если используете дискету
Как посмотреть список закрытых ключей?
Список контейнеров с закрытыми ключами можно посмотреть утилитой csptest. Она находится в директории /opt/cprocsp/bin/
Перечисление контейнеров пользователя:
csptest -keyset -enum_cont -verifycontext -fqcn
Перечисление контейнеров компьютера:
csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys
В полученном списке имена контейнеров будут представлены в том виде, в котором их воспринимают все бинарные утилиты, входящие в дистрибутив CSP (\\.\ \ ).
Как в Linux/Unix установить сертификаты?
Основной утилитой для работы с сертификатами является certmgr (лежит в /opt/cprocsp/bin/ ). К ней есть man:
man 8 certmgr
Установка корневого сертификата:
certmgr -inst -store root -file
Установка личного сертификата:
certmgr -inst -file -cont
Установка стороннего сертификата:
certmgr -inst -file
Как скопировать ключи с дискеты/флешки на HDIMAGE?
Скопируйте ключи(директорию с именем в формате 8.3) из корня дискеты или флешки в директорию /var/opt/cprocsp/keys/имя_пользователя
При этом необходимо проследить чтобы:
— владельцем файлов был пользователь, в диретории с именем которого расположен контейнер(от его имени будет осуществляться работа с ключами);
— чтобы на директорию с ключами были выставлены права, разрешаюшие владельцу всё, остальным ничего;
— чтобы на файлы были выставлены права, разершающие владельцу по крайней мере чтение и запись, остальным ничего.
Что такое ключевой контейнер? Зачем нужен пароль на контейнер?
Ключевые контейнеры – это способ хранения закрытых ключей, реализованный в нашем продукте. Их физическое представление зависит от типа ключевого носителя (на флешке, дискете, жестком диске это директория в которой хранится набор файлов с ключевой информацией; в случае со смарт-картами – файлы в защищенной памяти смарт-карты, в случае с реестром – раздел реестра, содержащий некоторые параметры). Пароль на контейнер имеет разное значение для смарт-карт и для носителей, не являющихся смарт-картами.
Источник
КРИПТО-ПРО на Linux Centos 6
КриптоПро — набор криптографических утилит и вспомогательных программ, в основном использующихся в программах российских разработчиков для генерации ЭЦП, работы с сертификатами и шифрования передаваемых данных.
До определенного момента софт использовался преимущественно на windows, но с некоторых пор стал популярен и на других платформах, в частности Linux, в связи с вводом государством различных законов, требующих оперативности обмена и простоты последнего в плане автоматизации.
Например, провайдерам необходимо оперативно реагировать на «Черные списки рунета», логично, что решение должно быть автономным и максимально удобным — с этим замечательно справляется Linux.
В моем случае CryptoPro будет работать в паре с eToken.
Установка
1. Архив с программным обеспечением
КриптоПро доступен по ссылке http://www.altlinux.org/КриптоПро (требуется регистрация)
2. Установка не отличается сложностью.
В первом случае есть скрипт для инсталляции, во втором необходимо поставить RPM пакет (токен до момента установки драйверов необходимо извлечь из сервера).
В процессе установки под CentOS 6.5, мне также понадобился модуль поддержки eToken (cprocsp-rdr-jacarta-3.6.1-3.6.219-1.x86_64) идет в поставке КриптоПРО 3.6.
rpm -i cprocsp-rdr-jacarta-3.6.1-3.6.346-1.x86_64.rpm
3. После установки, прописываем переменные окружения, или перемещаемся в папку «/opt/cprocsp/»
export PATH=»$PATH:$(ls -d /opt/cprocsp/bin/*|tr ‘\n’ ‘:’)»
4. Проверяем лицензию.
С сайта КриптоПро выдаётся лицензия на три месяца.
# cpconfig -license -view Server license: 36360-U0030-01C97-HQ92Y-##### Expires: 3 month(s) 0 day(s) Client license: 36360-U0030-01C97-HQ92Y-##### Expires: 3 month(s) 0 day(s)
5. Вставляем ключ eToken и проверяем вывод list_pcsc:
# ./list_pcsc available reader: AKS ifdh 00 00
Утилита доступна после установки пакета
# rpm -i cprocsp-rdr-pcsc-64-3.9.0-4.x86_64.rpm
Как вариант штатными средствами:
# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 203a:fff9 Bus 002 Device 039: ID ####:#### Aladdin Knowledge Systems eToken Pro 64k (4.2)
6. Добавляем считыватель:
# ./cpconfig -hardware reader -add «AKS ifdh 00 00» Adding new reader: Nick name: AKS ifdh 00 00 Succeeded, code:0x0
7. Просмотр списка настроенных считывателей:
Nick name: AKS ifdh 00 00 Connect name: Reader name: AKS ifdh 00 00 Nick name: FLASH Connect name: Reader name: FLASH Nick name: HDIMAGE Connect name: Reader name: ��������� ������� �� ������� �����
Первый ридер «AKS ifdh 00 0» — это наш токен, последний — локальное хранилище. Контейнеры HDIMAGE живут по адресу «/var/opt/cprocsp/keys/ /»
Создание контейнера.
1. Создаём ключевой контейнер:
# ./csptest -keyset -newkeyset -cont ‘\\.\HDIMAGE\Bank’
2. Создаём запрос на сертификат:
# ./cryptcp -creatrqst -dn «E=test@test.ru,CN=Ivan,L=Moscow,O=Bank» -nokeygen -both -ku -cont Bank cert_request.req
3. Можно (нужно) запросить сертификат в своем центре сертификации.
Как вариант, откройте в браузере ссылку http://www.cryptopro.ru/certsrv/certrqxt.asp (тестовый удостоверяющий центр КриптоПро) вставьте в поле «Base-64-шифрованный запрос сертификата» содержимое файла cert_request.req и нажмите кнопку «Выдать». Затем сохраните файл по ссылке «Загрузить сертификат» (по умолчанию предлагается имя certnew.cer).
4. Устанавливаем, полученный от УЦ сертификат, в указанный ключевой контейнер:
# ./certmgr -inst -store uMy -file certnew.cer -cont ‘\\.\HDIMAGE\Bank’
5. Проверка установленного сертификата
# ./certmgr -lis 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=test@test.ru, CN=Ivan, L=Moscow, O=Bank Serial : 0x12000065ECE1AF809C191F54300000000065EC SHA1 Hash : 0x1a11194ef7fe628fe371ba0cf1d0421b7bd23448 Not valid before : 14/10/2014 14:52:55 UTC Not valid after : 14/10/2015 15:02:55 UTC PrivateKey Link : Yes. Container : HDIMAGE\\Bank.000\2829
ЭЦП и шифрование файла
1. Подпись файла
# ./cryptcp -sign -dn «E=test@test.ru,CN=Ivan,L=Moscow,O=Bank» -nocert -der test.txt test.sig CryptCP 3.41 (c) «Crypto-Pro», 2002-2013. Command prompt Utility for file signature and encryption. The following certificate will be used: RDN:Bank, Moscow, Ivan, test@test.ru Valid from 14.10.2014 14:52:55 to 14.10.2015 15:02:55 Certificate chain is not checked for this certificate: RDN:Bank, Moscow, Ivan, test@test.ru Valid from 14.10.2014 14:52:55 to 14.10.2015 15:02:55 Certificate chain is not checked for this certificate (error code 10000): /dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:416: 0x20000133 Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y Certificate chains are checked. Folder ‘./’: test.txt. CryptoPro CSP: Type password for container «Bank» Password: Signing the data. Signed message is created. [ReturnCode: 0]
2. Проверка подписи
# ./cryptcp -verify -dn «E=test@test.ru,CN=Ivan,L=Moscow,O=Bank» -nocert -der test.sig test1.sig root@localhost amd64]# ./cryptcp -verify -dn «E=test@test.ru,CN=Ivan,L=Moscow,O=Bank» -nocert -der test.sig test1.txt CryptCP 3.41 (c) «Crypto-Pro», 2002-2013. Command prompt Utility for file signature and encryption. The following certificate will be used: RDN:Bank, Moscow, Ivan, test@test.ru Valid from 14.10.2014 14:52:55 to 14.10.2015 15:02:55 Certificate chain is not checked for this certificate: RDN:Bank, Moscow, Ivan, test@test.ru Valid from 14.10.2014 14:52:55 to 14.10.2015 15:02:55 Certificate chain is not checked for this certificate (error code 10000): /dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:416: 0x20000133 Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y Certificate chains are checked. Folder ‘./’: test.sig. Signature verifying. Signer: Bank, Moscow, Ivan, test@test.ru Certificate chain is not checked for this certificate (error code 10000): /dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:416: 0x20000133 Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y Signature’s verified. [ReturnCode: 0]
3. Сравнение оригинального и расшифрованного после подписи файла
# diff test.txt test1.txt # ll | grep test| grep txt -rw-r—r—. 1 root root 12 Окт 14 19:12 test1.txt -rw-r—r—. 1 root root 12 Окт 14 12:51 test.txt
4. Зашифровываем файл:
root@localhost amd64]# ./cryptcp -encr -der -dn «CN=webserver» test.txt test.msg CryptCP 3.41 (c) «Crypto-Pro», 2002-2013. Command prompt Utility for file signature and encryption. The following certificate will be used: RDN:webserver Valid from 14.10.2014 08:39:19 to 14.10.2015 08:49:19 Certificate chain is not checked for this certificate: RDN:webserver Valid from 14.10.2014 08:39:19 to 14.10.2015 08:49:19 Certificate chain is not checked for this certificate (error code 10000): /dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:416: 0x20000133 Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y Certificate chains are checked. Encrypting the data. Encrypted message is created. [ReturnCode: 0]
5. Расшифровываем файл
# ./cryptcp -decr -dn «CN=webserver» test.msg test.out CryptCP 3.41 (c) «Crypto-Pro», 2002-2013. Command prompt Utility for file signature and encryption. The following certificate will be used: RDN:webserver Valid from 14.10.2014 08:39:19 to 14.10.2015 08:49:19 Certificate chain is not checked for this certificate: RDN:webserver Valid from 14.10.2014 08:39:19 to 14.10.2015 08:49:19 Certificate chain is not checked for this certificate (error code 10000): /dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:416: 0x20000133 Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?y Certificate chains are checked. Decrypting the data. 0%CryptoPro CSP: Type password for container «webserver» Password: Message is decrypted. [ReturnCode: 0]
Работа с токеном.
Не отличается от выше написанного, за исключением того, что в качестве хранилища сертификатов мы используем «\\.\AKS ifdh 00 00\ »
# ./csptestf -keyset -newkeyset -makecert -cont ‘\\.\AKS ifdh 00 00\test’ -keytype exchange CSP (Type:75) v3.9.8000 KC1 Release Ver:3.9.8171 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 36484147 GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP Container name: «test» Exchange key is not available. Attempting to create an exchange key. Press keys. [. ] CryptoPro CSP: Set pin-code on produced container «test». Pin-code: an exchange key created. Self signed certificate created: E=test@cryptopro.ru, CN=test Certificate stored in container. Keys in container: exchange key Total: [ErrorCode: 0x00000000]
Вопросы без ответа
Для тестирования можно создать самоподписанный сертификат с закрытым ключом, но почему-то данный сертификат не появляется среди установленных » ./certmgr -list». Почему так происходит, пока разбираюсь.
Источник