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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline deadmeat  
#1 Оставлено : 20 сентября 2024 г. 13:03:45(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Всем привет, снова я Brick wall

В этот раз беда следующая, пункт 4.8 документации "КриптоПро УЦ, Руководство по установке" (Astra Linux 1.7.5 SE)
Необходимо:
Создание TLS сертификата Web сервера NGINX.

Фактический результат:
Не удалось установить сертификат
Открытые ключи в сертификате и контейнере не совпадают
Требуемый сертификат не существует.
[ErrorCode: 0x8010002c]

Флоу по которому прошел:
1. /opt/cprocsp/bin/amd64/cryptcp -creatrqst -provtype 80 -rdn 'CN=Astra' -certusage 1.3.6.1.5.5.7.3.1 -cont '\\.\HDIMAGE\nginx1' -ex /var/tmp/nginx.req
Создаю запрос через утилиту cryptcp, использую шаблон 1.3.6.1.5.5.7.3.1 (Проверка подлинности сервера) указанный в дополнительном гайде. Контейнер обзываю так исходя из того же гайда. Экспортирую в папку с заранее выданными правами 777.
2. /opt/cprocsp/bin/amd64/cryptcp -sign -thumbprint d46eb247056cf53eeab2dfaba7f88e70f51a68d4 -der /var/tmp/nginx.req /var/tmp/nginx.cer
Использую ту же утилиту cryptcp для подписания, подписываю сертификатом "stan", являющимся клиентским TLS сертификатом (опять же по оф. гайду), указываю путь до запроса и путь экспорта в ту же папку с правами 777.
3. /opt/cprocsp/bin/amd64/certmgr -install -store uMy -cont '\\.\HDIMAGE\nginx1' -file /var/tmp/nginx.cer
Устанавливаю утилитой certmgr в личное хранилище (т.к. планирую запускать все процессы и службы через учетку astra, созданную в момент установки самой ОС).

Получаю такой результат:
Certmgr Ver:5.0.13000 OS:Linux CPU:AMD64 (c) "КРИПТО-ПРО", 2007-2024.
Программа для работы с сертификатами, CRL и хранилищами.
Идёт установка:
=============================================================================
1-------
Издатель : C=RU, CN=CryptoPro
Субъект : C=RU, CN=stan
Серийный номер : 0x2FD41D5DE008B8B140B3DDF801920017
SHA1 отпечаток : d46eb247056cf53eeab2dfaba7f88e70f51a68d4
Идентификатор ключа : 7eed10c78443d3044e1ff4356b8ab4d8425ba3a2
Алгоритм подписи : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл. : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан : 17/09/2024 12:56:57 UTC
Истекает : 17/12/2025 13:06:57 UTC
Ссылка на ключ : Нет
Назначение/EKU : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
=============================================================================
Не удалось установить сертификат
Открытые ключи в сертификате и контейнере не совпадают

Требуемый сертификат не существует.

[ErrorCode: 0x8010002c]

Уже заметил и сделал выводы, что:
а) Отличается назначение, по гайду требуется 1.3.6.1.5.5.7.3.1, а получаем 1.3.6.1.5.5.7.3.2. Я так понял, что это связанно с самим шаблоном по которому выпущен "stan", но если подписать с отпечатком TLS сервера который имеет нужный шаблон, результат не меняется.
б) Изменился субъект, как будто запрос переформировался не на NGINX TLS Web-сервер, а на самого "stan".

Натолкните на правильный путь пожалуйста, вообще не одупляю что делать.
Конфигурация:
1. NATS TLS (общая конфигурация на одну УЗ (только stan, перенес на его сертификат все требования от ca,ra и т.д.))
2. CA TLS
3. RA TLS
4. PostgreSQL базы cpcadb - для CA, radb - для RA.
Все базы функционируют корректно, экземпляры ЦА и ЦР создались успешно. Авторизация происходит через переменную Password в конфиге, не использую .pgpass
Offline Захар Тихонов  
#2 Оставлено : 20 сентября 2024 г. 13:32:25(UTC)
Захар Тихонов

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

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,238
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 39 раз
Поблагодарили: 576 раз в 553 постах
Здравствуйте.

Если nginx установлен из состава УЦ, то ключ для nginx надо сделать учетке nginx или ей перенести. Сертификат должен у нее быть привязан к ЗК.

Судя по вот "Субъект : C=RU, CN=stan", вы устанавливаете сертификат не выпущенный с 'CN=Astra'.

Последовательность вроде правильная:
1. создать запрос на сертификат, рекомендую в запрос добавить шаблон TLS сервера. Сформировать сразу под учеткой nginx: sudo -u nginx /opt/cprocsp/bin/amd64/cryptcp -creatrqst ...
2. Подписать запрос сертификатом оператора, если у вас включен TLS с nats: /opt/cprocsp/bin/amd64/cryptcp -sign ...
3. Обработать запрос на сертификат: /opt/cpca/pkica/pkica ca issue-cert ...
4. Установить сертификат с привязкой к ЗК под учеткой nginx: sudo -u nginx /opt/cprocsp/bin/amd64/certmgr -install ...

Шаблон добавить в запрос можно с помощью добавления расширения ключом -ext. Сформировать корректное расширение поможет pkica: /opt/cpca/pkica/pkica ca template encode-extension certificate-template ...
Т.е. в команде формирования запроса просто добавляется -ext "путь к созданному расширению"
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Захар Тихонов  
#3 Оставлено : 20 сентября 2024 г. 13:35:10(UTC)
Захар Тихонов

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

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,238
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 39 раз
Поблагодарили: 576 раз в 553 постах
Вот тут еще можно подчерпнуть, но там немного по другому (Шаг 8. Настройка Nginx)
https://support.cryptopr...nie-1516-n-odnojj-mshine
Техническую поддержку оказываем тут.
Наша база знаний.
Offline deadmeat  
#4 Оставлено : 20 сентября 2024 г. 13:38:05(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Захар Тихонов Перейти к цитате
Здравствуйте.

Если nginx установлен из состава УЦ, то ключ для nginx надо сделать учетке nginx или ей перенести. Сертификат должен у нее быть привязан к ЗК.

Судя по вот "Субъект : C=RU, CN=stan", вы устанавливаете сертификат не выпущенный с 'CN=Astra'.

Последовательность вроде правильная:
1. создать запрос на сертификат, рекомендую в запрос добавить шаблон TLS сервера. Сформировать сразу под учеткой nginx: sudo -u nginx /opt/cprocsp/bin/amd64/cryptcp -creatrqst ...
2. Подписать запрос сертификатом оператора, если у вас включен TLS с nats: /opt/cprocsp/bin/amd64/cryptcp -sign ...
3. Обработать запрос на сертификат: /opt/cpca/pkica/pkica ca issue-cert ...
4. Установить сертификат с привязкой к ЗК под учеткой nginx: sudo -u nginx /opt/cprocsp/bin/amd64/certmgr -install ...

Шаблон добавить в запрос можно с помощью добавления расширения ключом -ext. Сформировать корректное расширение поможет pkica: /opt/cpca/pkica/pkica ca template encode-extension certificate-template ...
Т.е. в команде формирования запроса просто добавляется -ext "путь к созданному расширению"


В моем случае предпочтительнее использовать УЗ astra.
Сертификат оператора - второй сертификат указанный в nats.conf?:
tls:
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer

С использованием шаблона TLS, выходит я должен вбить этот OID?:
- Name: TlsServer
Oid: 1.2.643.2.2.46.0.3
MajorVersion: 1
MinorVersion: 0

В гайде просто четко указан 1.3.6.1.5.5.7.3.1, или я путаю расширенные свойства ключа с шаблоном?
Offline Захар Тихонов  
#5 Оставлено : 20 сентября 2024 г. 13:54:29(UTC)
Захар Тихонов

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

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,238
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 39 раз
Поблагодарили: 576 раз в 553 постах
Автор: deadmeat Перейти к цитате


В моем случае предпочтительнее использовать УЗ astra.


не забудьте тогда и настроить nginx под работу под вашу предпочтительную учетную запись.

Автор: deadmeat Перейти к цитате

Сертификат оператора - второй сертификат указанный в nats.conf?:
tls:
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer


нет, сертификаты nats\stan - это их сертификаты, у оператора должны быть свои два сертификата (один для TLS, второй для подписи), сертификатом подписи и подписывайте запросы. Первый сертbфикат оператора подписи выпускается без TLS с nats.

Автор: deadmeat Перейти к цитате

С использованием шаблона TLS, выходит я должен вбить этот OID?:
- Name: TlsServer
Oid: 1.2.643.2.2.46.0.3
MajorVersion: 1
MinorVersion: 0

В гайде просто четко указан 1.3.6.1.5.5.7.3.1, или я путаю расширенные свойства ключа с шаблоном?

Да, этот шаблон, он по умолчанию корректно настроен.
Проверка подлинности сервера (1.3.6.1.5.5.7.3.1)
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)



Техническую поддержку оказываем тут.
Наша база знаний.
thanks 1 пользователь поблагодарил Захар Тихонов за этот пост.
deadmeat оставлено 20.09.2024(UTC)
Offline deadmeat  
#6 Оставлено : 20 сентября 2024 г. 13:57:16(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Захар Тихонов Перейти к цитате
Автор: deadmeat Перейти к цитате


В моем случае предпочтительнее использовать УЗ astra.


не забудьте тогда и настроить nginx под работу под вашу предпочтительную учетную запись.

Автор: deadmeat Перейти к цитате

Сертификат оператора - второй сертификат указанный в nats.conf?:
tls:
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer
client_certificate=/opt/cpca/nats-streaming/ssl/nats-client.cer


нет, сертификаты nats\stan - это их сертификаты, у оператора должны быть свои два сертификата (один для TLS, второй для подписи), сертификатом подписи и подписывайте запросы. Первый сертbфикат оператора подписи выпускается без TLS с nats.

Автор: deadmeat Перейти к цитате

С использованием шаблона TLS, выходит я должен вбить этот OID?:
- Name: TlsServer
Oid: 1.2.643.2.2.46.0.3
MajorVersion: 1
MinorVersion: 0

В гайде просто четко указан 1.3.6.1.5.5.7.3.1, или я путаю расширенные свойства ключа с шаблоном?

Да, этот шаблон, он по умолчанию корректно настроен.
Проверка подлинности сервера (1.3.6.1.5.5.7.3.1)
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)





Понял, спасибо, сейчас самостоятельно побрыкаюсь и если чего - отпишу с хорошими / не очень новостями.
Offline deadmeat  
#7 Оставлено : 20 сентября 2024 г. 14:34:51(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Захар Тихонов Перейти к цитате
Вот тут еще можно подчерпнуть, но там немного по другому (Шаг 8. Настройка Nginx)
https://support.cryptopr...nie-1516-n-odnojj-mshine


В целом вот чего вышло.
1. Создал УЗ оператора, по гайду требовалось серт для NGINX на 35 странице, создание УЗ оператора на 54)))
2. Привязал к УЗ оператора TLS сертификат STAN (он подошел по параметрам, неотрекаемость, нужный шаблон + использование - подпись).
3. Создал запрос.
4. Подписал тампринтом стэна запрос (без ошибок).
5. Подтвердил запрос через pkica ca issue-cert (без ошибок).
6. Установил серт в контейнер из - под УЗ astra
/opt/cpca/pkica$ /opt/cprocsp/bin/amd64/certmgr -install -store uMy -file /var/tmp/final.cer -provtype 80 -container web -inst_to_cont

Итого имеем:
Идёт установка:
=============================================================================
1-------
Издатель : C=RU, CN=CryptoPro
Субъект : CN=cpcalinux
Серийный номер : 0x1D1207F05861E6AC4A9A231201920F23
SHA1 отпечаток : 21f0227798b10a15a3f0233388e86d594cb551f2
Идентификатор ключа : e4e4c65c8252f64db30d87240a7124275b359319
Алгоритм подписи : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл. : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан : 20/09/2024 11:03:34 UTC
Истекает : 20/12/2025 11:13:34 UTC
Ссылка на ключ : Нет
Назначение/EKU : 1.3.6.1.5.5.7.3.1 Проверка подлинности сервера
=============================================================================

[ErrorCode: 0x00000000]
UserPostedImage


При заходе на сайт вижу такую штуку (авторизуюсь под stan)
UserPostedImage
Offline Захар Тихонов  
#8 Оставлено : 20 сентября 2024 г. 14:47:56(UTC)
Захар Тихонов

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

Группы: Участники
Зарегистрирован: 17.08.2015(UTC)
Сообщений: 3,238
Мужчина
Тонга
Откуда: Калининград

Сказал «Спасибо»: 39 раз
Поблагодарили: 576 раз в 553 постах
Сертификат для stan - это не сертификат оператора ЦР.

Выпустите два сертификата оператору и зарегистрируйте оператора через pkica ra operator.
Не забудьте создать папку и выдать права, все через pkica ra
Техническую поддержку оказываем тут.
Наша база знаний.
Offline deadmeat  
#9 Оставлено : 24 сентября 2024 г. 11:37:34(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Автор: Захар Тихонов Перейти к цитате
Сертификат для stan - это не сертификат оператора ЦР.

Выпустите два сертификата оператору и зарегистрируйте оператора через pkica ra operator.
Не забудьте создать папку и выдать права, все через pkica ra


Снова вернулся к работе над УЦ, возник доп. вопрос.
Если у меня установлено NATS TLS соединение, развернут RA и CA, как я могу подписать сертификаты оператора? А точнее чем?
Не нашел гайда нигде, для того чтобы сделать "pkica ca issue-cert", нужно чтобы .req файл был подписан, но в случае NATS TLS соединения подразумевается, что запросы будет подписывать сам оператор, так как выпустить для него сертификаты если подписать запрос нечем? Brick wall
Offline deadmeat  
#10 Оставлено : 24 сентября 2024 г. 11:44:40(UTC)
deadmeat

Статус: Участник

Группы: Участники
Зарегистрирован: 19.09.2024(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Великий Новгород

Сказал «Спасибо»: 4 раз
Поблагодарили: 1 раз в 1 постах
Перечитал и увидел "первый сертификат подписи выпускается без nats tls", то есть мы имеем:
1. Выпускаю сертификат подписи для оператора без NATS TLS.
2. Включаю NATS TLS, выпускаю еще один серт по шаблону TLS server и подписываю его отпечатком от сертификата с пункта 1.

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