Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline vint-95  
#1 Оставлено : 8 апреля 2021 г. 10:52:41(UTC)
vint-95

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.04.2021(UTC)
Сообщений: 2

Сказал(а) «Спасибо»: 2 раз
Добрый день. Сразу предупрежу - с теорией проблемы, поэтому путаюсь в терминологии и могу задавать глупые вопросы, прошу прощения. Появилась потребность сделать на Unix (Oracle Linux Server 7.3) в 1С программно (8.3.12.1595, без вспомогательных конфигураций по работе с сертификатами) шифрование с использованием КриптоПро (v4.0.9017 KC1 Release Ver:4.0.9944 OS:Linux CPU:AMD64).

В МенеджерКриптографии указываю путь к библиотеке "/opt/cprocsp/lib/amd64/libcapi20.so" и тип провайдера (81). Добавляю тестовый сертификат:

./certmgr -inst -file "/opt/cprocsp/bin/amd64/certificates/certnew.cer" -store uMy

Сертификат добавил, в списке появился. Проверяю в коде: ни в хранилище персональных сертификатов, ни в сертификатах получателей ничего нет. Изменил хранилище на uAddressBook - ничего.

Попробовал добавить иначе, на основе инструкции (ссылка) - создал тестовый сертификат на основе csr-запроса, инсталлировал в контейнер, потом добавил в хранилище. Результат аналогичный - массив сертификатов пуст.

Сертификаты:

Код:
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=testUser, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x12005230250582B6C86A3EF21A000100523025
SHA1 Hash           : abbb8e7fc3f66f2ef7dca1ef5f10156fd12756c1
SubjKeyID           : abe9062eb28b32ed2e9f449a7c18ad0ce8c4b66d
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (1024 bits)
Not valid before    : 08/04/2021  06:06:51 UTC
Not valid after     : 08/07/2021  06:16:51 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\NewTest2.000\43F4
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
Provider Info       : ProvType: 81, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=test, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x1200522F0E5C41077332DD7ECC000100522F0E
SHA1 Hash           : cb1d4252b34634a170e83c0f0181f4ad82c2adbf
SubjKeyID           : 621f22e47efa5fd68fa528d5456930c160680903
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before    : 08/04/2021  04:56:24 UTC
Not valid after     : 08/07/2021  05:06:24 UTC
PrivateKey Link     : No
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2



При этом - корневые сертификаты из 1C-кода в Unix я могу получить (другое дело, что они мне не нужны). В Windows и вовсе всё работает без проблем - массив сертификатов получаю, шифрование успешно.

Пробовал и тестовый *.pfx импортировать из Windows - не без проблем, но с учётом рекомендаций (ссылка) добавить удалось. Результат аналогичный: массив пуст.

Подскажите, пожалуйста, где я ошибся? Как добавить сертификаты в персональное хранилище таким образом, чтобы 1С увидела сертификаты?
Offline Александр Лавник  
#2 Оставлено : 8 апреля 2021 г. 11:13:40(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,375
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: vint-95 Перейти к цитате
Добрый день. Сразу предупрежу - с теорией проблемы, поэтому путаюсь в терминологии и могу задавать глупые вопросы, прошу прощения. Появилась потребность сделать на Unix (Oracle Linux Server 7.3) в 1С программно (8.3.12.1595, без вспомогательных конфигураций по работе с сертификатами) шифрование с использованием КриптоПро (v4.0.9017 KC1 Release Ver:4.0.9944 OS:Linux CPU:AMD64).

В МенеджерКриптографии указываю путь к библиотеке "/opt/cprocsp/lib/amd64/libcapi20.so" и тип провайдера (81). Добавляю тестовый сертификат:

./certmgr -inst -file "/opt/cprocsp/bin/amd64/certificates/certnew.cer" -store uMy

Сертификат добавил, в списке появился. Проверяю в коде: ни в хранилище персональных сертификатов, ни в сертификатах получателей ничего нет. Изменил хранилище на uAddressBook - ничего.

Попробовал добавить иначе, на основе инструкции (ссылка) - создал тестовый сертификат на основе csr-запроса, инсталлировал в контейнер, потом добавил в хранилище. Результат аналогичный - массив сертификатов пуст.

Сертификаты:

Код:
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=testUser, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x12005230250582B6C86A3EF21A000100523025
SHA1 Hash           : abbb8e7fc3f66f2ef7dca1ef5f10156fd12756c1
SubjKeyID           : abe9062eb28b32ed2e9f449a7c18ad0ce8c4b66d
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (1024 bits)
Not valid before    : 08/04/2021  06:06:51 UTC
Not valid after     : 08/07/2021  06:16:51 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\NewTest2.000\43F4
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
Provider Info       : ProvType: 81, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=test, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x1200522F0E5C41077332DD7ECC000100522F0E
SHA1 Hash           : cb1d4252b34634a170e83c0f0181f4ad82c2adbf
SubjKeyID           : 621f22e47efa5fd68fa528d5456930c160680903
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before    : 08/04/2021  04:56:24 UTC
Not valid after     : 08/07/2021  05:06:24 UTC
PrivateKey Link     : No
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2



При этом - корневые сертификаты из 1C-кода в Unix я могу получить (другое дело, что они мне не нужны). В Windows и вовсе всё работает без проблем - массив сертификатов получаю, шифрование успешно.

Пробовал и тестовый *.pfx импортировать из Windows - не без проблем, но с учётом рекомендаций (ссылка) добавить удалось. Результат аналогичный: массив пуст.

Подскажите, пожалуйста, где я ошибся? Как добавить сертификаты в персональное хранилище таким образом, чтобы 1С увидела сертификаты?
Здравствуйте.

Код вызываете под тем же пользователем, что и устанавливаете личный сертификат?

Или, возможно, в Вашем коде идет обращение к хранилищу компьютера, а не пользователя?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Александр Лавник за этот пост.
vint-95 оставлено 08.04.2021(UTC)
Offline Андрей *  
#3 Оставлено : 8 апреля 2021 г. 11:56:40(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,625
Мужчина
Российская Федерация

Сказал «Спасибо»: 492 раз
Поблагодарили: 2034 раз в 1578 постах


Так в коде?

Цитата:
ТипКП=81

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, "", ТипКП);
ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС);
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
vint-95 оставлено 08.04.2021(UTC)
Offline vint-95  
#4 Оставлено : 8 апреля 2021 г. 12:19:05(UTC)
vint-95

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.04.2021(UTC)
Сообщений: 2

Сказал(а) «Спасибо»: 2 раз
Автор: Александр Лавник Перейти к цитате
Автор: vint-95 Перейти к цитате
Добрый день. Сразу предупрежу - с теорией проблемы, поэтому путаюсь в терминологии и могу задавать глупые вопросы, прошу прощения. Появилась потребность сделать на Unix (Oracle Linux Server 7.3) в 1С программно (8.3.12.1595, без вспомогательных конфигураций по работе с сертификатами) шифрование с использованием КриптоПро (v4.0.9017 KC1 Release Ver:4.0.9944 OS:Linux CPU:AMD64).

В МенеджерКриптографии указываю путь к библиотеке "/opt/cprocsp/lib/amd64/libcapi20.so" и тип провайдера (81). Добавляю тестовый сертификат:

./certmgr -inst -file "/opt/cprocsp/bin/amd64/certificates/certnew.cer" -store uMy

Сертификат добавил, в списке появился. Проверяю в коде: ни в хранилище персональных сертификатов, ни в сертификатах получателей ничего нет. Изменил хранилище на uAddressBook - ничего.

Попробовал добавить иначе, на основе инструкции (ссылка) - создал тестовый сертификат на основе csr-запроса, инсталлировал в контейнер, потом добавил в хранилище. Результат аналогичный - массив сертификатов пуст.

Сертификаты:

Код:
1-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=testUser, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x12005230250582B6C86A3EF21A000100523025
SHA1 Hash           : abbb8e7fc3f66f2ef7dca1ef5f10156fd12756c1
SubjKeyID           : abe9062eb28b32ed2e9f449a7c18ad0ce8c4b66d
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (1024 bits)
Not valid before    : 08/04/2021  06:06:51 UTC
Not valid after     : 08/07/2021  06:16:51 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\NewTest2.000\43F4
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 Strong CSP
Provider Info       : ProvType: 81, KeySpec: 1, Flags: 0x0
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2
2-------
Issuer              : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2
Subject             : CN=test, O=MyCompany, C=RU, E=test@test.ru
Serial              : 0x1200522F0E5C41077332DD7ECC000100522F0E
SHA1 Hash           : cb1d4252b34634a170e83c0f0181f4ad82c2adbf
SubjKeyID           : 621f22e47efa5fd68fa528d5456930c160680903
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2012 (512 bits)
Not valid before    : 08/04/2021  04:56:24 UTC
Not valid after     : 08/07/2021  05:06:24 UTC
PrivateKey Link     : No
CA cert URL         : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202(1).crt
OCSP URL            : http://testca.cryptopro.ru/ocsp/ocsp.srf
CDP                 : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202(1).crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2



При этом - корневые сертификаты из 1C-кода в Unix я могу получить (другое дело, что они мне не нужны). В Windows и вовсе всё работает без проблем - массив сертификатов получаю, шифрование успешно.

Пробовал и тестовый *.pfx импортировать из Windows - не без проблем, но с учётом рекомендаций (ссылка) добавить удалось. Результат аналогичный: массив пуст.

Подскажите, пожалуйста, где я ошибся? Как добавить сертификаты в персональное хранилище таким образом, чтобы 1С увидела сертификаты?
Здравствуйте.

Код вызываете под тем же пользователем, что и устанавливаете личный сертификат?

Или, возможно, в Вашем коде идет обращение к хранилищу компьютера, а не пользователя?


Благодарю за ответ.

В качестве проверки гипотезы добавил сертификаты в хранилище машины. Пусто.

А код действительно вызывается из-под другого пользователя - забыл про то, что там сервисный пользователь usr1cv8 под 1С-шные процессы забит. Буду править, спасибо большое за помощь.

Цитата:
Так в коде?

Цитата:
ТипКП=81

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, "", ТипКП);
ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС);


Не совсем - не указал пользователя, под которым выполняется код (нет РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС). За указание спасибо.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.