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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Роман Роман  
#1 Оставлено : 29 августа 2024 г. 16:29:43(UTC)
Роман Роман

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

Группы: Участники
Зарегистрирован: 29.08.2024(UTC)
Сообщений: 2
Российская Федерация

Добрый день. Необходима помощь в настройки ключей.
Цель - собрать образ, который сможет подписывать обращения к национальному каталогу и честному знаку.
Собираю в докере образ PHP8.2 + phpcades. Всё по минимуму - без fpm и всё от рута.

Код:

FROM ubuntu:22.04
RUN apt update && apt install mc nano libboost-dev libxml2-dev git -y
RUN apt install software-properties-common ca-certificates lsb-release apt-transport-https  -y
RUN LC_ALL=C.UTF-8  add-apt-repository ppa:ondrej/php -y
RUN apt update && DEBIAN_FRONTEND="noninteractive" TZ="Europe/Moskow" apt install php8.2 php8.2-dev -y

# TODO user - сделать по необходимости
#RUN useradd -G www-data -d /home/crypt crypt
#WORKDIR /home/crypt
#RUN su crypt && cd ~

# https://docs.cryptopro.ru/cades/phpcades/phpcades-install?id=%d0%9f%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d1%81%d0%b1%d0%be%d1%80%d0%ba%d0%b8
COPY linux-amd64_deb.tgz .

# установить минимальный набор пакетов КриптоПро CSP, пакет lsb-cprocsp-devel версии 5.0 и пакет cprocsp-pki-cades
RUN tar xzf linux-amd64_deb.tgz
WORKDIR linux-amd64_deb
RUN ./install.sh lsb-cprocsp-devel cprocsp-pki-cades

# Скачать исходный код phpcades
RUN git clone https://github.com/CryptoPro/phpcades.git

WORKDIR phpcades
# указать путь к директории с заголовочными файлами PHP в переменной PHPDIR.
RUN sed -i -e 's/PHPDIR=\/php/PHPDIR=\/usr\/include\/php\/20220829\//' ./Makefile.unix

# применить файл патча для php8
RUN patch -p0 < ./php8_support.patch

# Перейти в директорию с исходниками расширения и выполнить команду
RUN eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix

# Создать в директории с расширениями символическую ссылку на собранную библиотеку libphpcades.so.
RUN cp ./libphpcades.so /usr/lib/php/20220829

# добавить расширение
RUN touch /etc/php/8.2/mods-available/libphpcades.ini
RUN echo "extension=libphpcades.so" >> /etc/php/8.2/mods-available/libphpcades.ini
RUN ln -s  /etc/php/8.2/mods-available/libphpcades.ini /etc/php/8.2/cli/conf.d/20-libphpcades.ini


# Лицензия (https://github.com/Jumas-Cola/cryptopro/tree/master)
WORKDIR /opt/cprocsp/sbin/amd64/
#RUN cpconfig -license -set <серийный_номер>
RUN ./cpconfig -license -view


# Установка корневых сертификатов
WORKDIR ~
RUN mkdir certificates && curl -sS http://cpca.cryptopro.ru/cacer.p7b > certificates/cacer.p7b
# RUN /opt/cprocsp/bin/amd64/certmgr -inst -all -store uroot -file certificates/cacer.p7b - доделать


# Установка своих сертификатов
COPY bundle.zip .
RUN unzip -q bundle.zip
RUN cp -R a90d6ff5.000 /var/opt/cprocsp/keys/root/ # перенос контейнера
RUN /opt/cprocsp/bin/amd64/certmgr -inst -file public.cer # сертификат
RUN /opt/cprocsp/bin/amd64/certmgr -inst -file public.cer -cont '\\.\HDIMAGE\'"a90d6ff5-3599-481f-b2f7-5dd3cc9bd73f" #подвязка сертификата в контейнере



Далее в контейнере ставлю корневые сертификаты
Код:

root@3c026277f8da:/app# /opt/cprocsp/bin/amd64/certmgr -inst -all -store uroot -file certificates/cacer.p7b
Certmgr Ver:5.0.13000 OS:Linux CPU:AMD64 (c) "Crypto-Pro", 2007-2024.
Program for managing certificates, CRLs and stores.
Installing:
=============================================================================
1-------
Issuer              : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Subject             : E=cpca@cryptopro.ru, C=RU, L=Москва, O=ООО КРИПТО-ПРО, CN=УЦ KPИПTO-ПPO
Serial              : 0x0FDD104EE49490BF80E711BE040559F1FE
SHA1 Thumbprint     : c8e00fe58abd9bea94d0b8048f53e3e57448a430
SubjectKeyID        : 72f05086b2809fad0239e0c393160ee2b3a77a26
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before    : 09/03/2017 11:43:24 UTC
Not valid after     : 09/03/2032 11:43:24 UTC
PrivateKey Link     : No
2-------
Issuer              : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Subject             : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Serial              : 0x0278A81A01F7AAEDBC418C69A4B26871D6
SHA1 Thumbprint     : ec338e87c8a34be5ec53df164ddee40934176fb3
SubjectKeyID        : 2f0f30ee1b2e93dae26d835df02636b8119486dd
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 512 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 512 бит (1024 bits)
Not valid before    : 31/10/2019 16:59:08 UTC
Not valid after     : 31/10/2034 16:59:08 UTC
PrivateKey Link     : No
3-------
Issuer              : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Subject             : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Serial              : 0x00DD104EE49490C280E711C10F7871BE9B
SHA1 Thumbprint     : ae71dcfac7a211a78f415f5ecbf72986fb673563
SubjectKeyID        : 06d84904600b6340c01fc6368563b09638e04a9b
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 512 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 512 бит (1024 bits)
Not valid before    : 23/03/2017 11:59:49 UTC
Not valid after     : 23/03/2032 11:59:49 UTC
PrivateKey Link     : No
4-------
Issuer              : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Subject             : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Serial              : 0x01E3FBF60031A9579540CA4145DB0C179C
SHA1 Thumbprint     : 5269538f37d31c44f2ec22941941c864297a3e1a
SubjectKeyID        : fdf55268ab6b48aa7efb695f722a7a1709b09a37
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 512 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 512 бит (1024 bits)
Not valid before    : 03/08/2018 14:49:15 UTC
Not valid after     : 03/08/2033 14:49:15 UTC
PrivateKey Link     : No
5-------
Issuer              : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Subject             : E=cpca@cryptopro.ru, C=RU, S=Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN=УЦ КРИПТО-ПРО (ГОСТ 2012)
Serial              : 0x0317BE3301C1AC17A948CF46A8C4F46F4D
SHA1 Thumbprint     : 425fe75d8f3b23b13c508ba834428d365c07436b
SubjectKeyID        : 1d5c58c03feb4407cf888dafae5382bb778ed464
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 512 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 512 бит (1024 bits)
Not valid before    : 31/01/2021 18:30:28 UTC
Not valid after     : 31/01/2036 18:30:28 UTC
PrivateKey Link     : No
=============================================================================
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: УЦ KPИПTO-ПPO
Thumbprint (sha1): C8E00FE58ABD9BEA94D0B8048F53E3E57448A430
(o)OK, (c)Cancel
o
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: УЦ КРИПТО-ПРО (ГОСТ 2012)
Thumbprint (sha1): EC338E87C8A34BE5EC53DF164DDEE40934176FB3
(o)OK, (c)Cancel
o
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: УЦ КРИПТО-ПРО (ГОСТ 2012)
Thumbprint (sha1): AE71DCFAC7A211A78F415F5ECBF72986FB673563
(o)OK, (c)Cancel
o
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: УЦ КРИПТО-ПРО (ГОСТ 2012)
Thumbprint (sha1): 5269538F37D31C44F2EC22941941C864297A3E1A
(o)OK, (c)Cancel
o
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: УЦ КРИПТО-ПРО (ГОСТ 2012)
Thumbprint (sha1): 425FE75D8F3B23B13C508BA834428D365C07436B
(o)OK, (c)Cancel
o

[ErrorCode: 0x00000000]




Далее запускаю тест

Код:
<?php
$content = "test content";
$tsp_addres = "http://testca.cryptopro.ru/tsp/tsp.srf";

$store = new CPStore();
$store->Open(CURRENT_USER_STORE, "my", STORE_OPEN_READ_ONLY);

$certs = $store->get_Certificates();
$cert = $certs->Item(1);

if (!$cert) {
    printf("Certificate not found\n");
    return;
}


$signer = new CPSigner();
$signer->set_TSAAddress($tsp_addres);
$signer->set_Certificate($cert);

$sd = new CPSignedData();
$sd->set_Content($content);

try {
    $sm = $sd->Sign($signer, 0, ENCODE_BASE64);
    printf("Signature is:\n");
    printf($sm);
    printf("\n");
    $sd->Verify($sm, 0, VERIFY_SIGNATURE_ONLY);
    printf("Verify OK\n");
} catch (Exception $e) {
    printf('%s: %s %s', $e->getLine(), $e->getMessage(), PHP_EOL);
}


Соответственно получаю ошибку:
Код:

25: A certificate chain could not be built to a trusted root authority.
 (0x800B010A)


Насколько могу оценить - сертификат стоит верно

Код:
root@3c026277f8da:/app# /opt/cprocsp/bin/amd64/certmgr -list
Certmgr Ver:5.0.13000 OS:Linux CPU:AMD64 (c) "Crypto-Pro", 2007-2024.
Program for managing certificates, CRLs and stores.
=============================================================================
1-------
Issuer              : ИНН ЮЛ=7707329152, E=uc@tax.gov.ru, ОГРН=1047707030513, C=RU, S=77 Москва, L=г. Москва, STREET="ул. Неглинная, д. 23", O=Федеральная налоговая служба, CN=Федеральная налоговая служба
Subject             : ......вырезано....
Serial              : 0x022098B200DCB0178F41CDA30D03E2B4AB
SHA1 Thumbprint     : 3023747826747ab72540498a63123a597e6b13fd
SubjectKeyID        : 6e513902008c2b8749b76acd06a3dec15328444f
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before    : 18/12/2023 10:40:15 UTC
Not valid after     : 18/03/2025 10:50:15 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\a90d6ff5.000\D03C
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info       : Provider Type: 80, Key Spec: 1, Flags: 0x0
Identification Kind : Without personal presence by qualified signature
OCSP URL            : http://pki.tax.gov.ru/ocsp03/ocsp.srf
CA cert URL         : http://pki.tax.gov.ru/crt/ca_fns_russia_2023_01.crt
CA cert URL         : http://c0000-app005/crt/ca_fns_russia_2023_01.crt
CA cert URL         : http://uc.nalog.ru/crt/ca_fns_russia_2023_01.crt
CDP                 : http://pki.tax.gov.ru/cdp/d156fb382c4c55ad7eb3ae0ac66749577f87e116.crl
CDP                 : http://c0000-app005/cdp/d156fb382c4c55ad7eb3ae0ac66749577f87e116.crl
CDP                 : http://uc.nalog.ru/cdp/d156fb382c4c55ad7eb3ae0ac66749577f87e116.crl
Extended Key Usage  : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
                      1.3.6.1.5.5.7.3.4 Защищенная электронная почта
                      1.2.643.2.2.34.34.1.3.7777
=============================================================================

[ErrorCode: 0x00000000]



Что мне нужно проверить и что сделать чтобы обнаружить проблему?

Offline Александр Лавник  
#2 Оставлено : 29 августа 2024 г. 16:41:19(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 801 раз в 740 постах
Здравствуйте.
Цитата:
$tsp_addres = "http://testca.cryptopro.ru/tsp/tsp.srf";

Не строится цепочка для сертификата оператора тестовой службы штампов времени.

Используйте службу штампов времени УЦ ФНС:

http://pki.tax.gov.ru/tsp/tsp.srf
Техническую поддержку оказываем тут
Наша база знаний
Offline Роман Роман  
#3 Оставлено : 29 августа 2024 г. 16:44:11(UTC)
Роман Роман

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

Группы: Участники
Зарегистрирован: 29.08.2024(UTC)
Сообщений: 2
Российская Федерация

Огромное спасибо! Verify OK

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.