- (необязательно) — подписание csr
- (необязательно) — создание и подписание образца запроса сертификата
- Firefox
- Google chrome / chromium
- Mozilla network security services (nss)
- Ssl-certificate – как добавить файл центра сертификации в centos 7 –
- Вложения:
- Добавление самозаверяющего сертификата в «список доверенных»
- Изучение и проверка содержимого списка crl
- Как добавить сертификат?
- Общесистемные корневые ca сертификаты
- Просмотр содержимого ключей и сертификатов
- Решение
- Создание корневого приватного ключа
- Управление доверенными корневыми сертификатами в windows 10/8
- Установка вручную
- Установка корневого сертификата | сбис помощь
- Установка корневого сертификата в локальное хранилище компьютера
- Установка сертификатов используя криптопро в linux
- Шаг 3 — создание центра сертификации
- (необязательно) — отзыв сертификата
- Отзыв сертификата
- Заключение
- Генерирование списка отзыва сертификатов
(необязательно) — подписание csr
На предыдущем шаге мы создали запрос тренировочного сертификата и ключ вымышленного сервера. Мы скопировали его в директорию /tmp на сервере ЦС, моделируя процесс, который мы бы использовали при отправке запросов CSR на подпись реальными клиентами или серверами.
Продолжим рассматривать вымышленный сценарий. Теперь серверу ЦС необходимо импортировать тренировочный сертификат и подписать его. Когда ЦС подтвердит сертификат и отправит ответ серверу, клиенты, доверяющие Центру сертификации, смогут также доверять новому сертификату.
Поскольку мы будем работать внутри инфраструктуры PKI в ЦС, где доступна утилита easy-rsa, мы будем использовать утилиту easy-rsa для большего удобства в отличие от использования openssl, как мы делали в предыдущем примере.
Первым шагом для подписания вымышленного CSR будет импорт запроса сертификата с помощью скрипта easy-rsa:
Output
. . .
The request has been successfully imported with a short name of: sammy-server
You may now use this name to perform signing operations on this request.
Теперь вы можете подписать запрос, запустив скрипт easyrsa с опцией sign-req, указав затем тип запроса и общее имя, включаемое в CSR. Запрос может иметь тип client, server или ca. Поскольку мы тренируемся с сертификатом для вымышленного сервера, нужно использовать тип запроса server:
В результатах вам будет предложено подтвердить, что запрос поступил из надежного источника. Для подтверждения введите yes и нажмите ENTER:
Output
You are about to sign the following certificate.
Please check over the details shown below for accuracy. Note that this request
has not been cryptographically verified. Please be sure it came from a trusted
source or that you have verified the request checksum with the sender.
Request subject, to be signed as a server certificate for 3650 days:
subject=
commonName = sammy-server
Type the word 'yes' to continue, or any other input to abort.
Confirm request details: yes
. . .
Certificate created at: /home/sammy/easy-rsa/pki/issued/sammy-server.crt
Если вы зашифровали ключ ЦС, вам будет предложено ввести пароль.
Выполнив эти шаги, мы подписали CSR sammy-server.req с помощью закрытого ключа сервера ЦС в директории /home/sammy/easy-rsa/pki/private/ca.key. Полученный файл sammy-server.crt содержит открытый ключ шифрования тренировочного сервера, а также новую подпись от сервера ЦС. Подпись сообщает всем, кто доверяет ЦС, что они также могут доверять сертификату sammy-server.
Если бы это был запрос веб-сервера, сервера VPN или другого реального сервера, последним шагом на сервере ЦС стало бы распространение новых файлов sammy-server.crt и ca.crt с сервера ЦС на удаленный сервер, отправивший запрос CSR:
На этом этапе выпущенный сертификат можно было бы использовать с веб-сервером, сервером VPN, инструментом управления конфигурацией, СУБД, системой аутентификации клиентов и т. п.
(необязательно) — создание и подписание образца запроса сертификата
Мы настроили ЦС для использования и теперь можем попробовать сгенерировать закрытый ключ и запрос сертификата, чтобы познакомиться с процессом подписания и распространения.
Запрос на подписание сертификата (CSR) состоит из трех частей, а именно открытого ключа, идентификационной информации запрашивающей системы и подписи запроса, создаваемой на основе закрытого ключа запрашивающей системы. Закрытый ключ остается секретным, и его можно будет использовать для шифрования информации, которую сможет расшифровать любой пользователь с подписанным открытым сертификатом.
Следующие шаги будут выполняться на второй системе Linux под управлением CentOS, Fedora или другого производного от RedHat дистрибутива Linux. Это может быть другой удаленный сервер или локальная система Linux, например ноутбук или настольный компьютер.
openssl обычно устанавливается по умолчанию в большинстве дистрибутивов Linux, но для уверенности стоит запустить в системе следующую команду:
Когда вам будет предложено установить openssl, введите y, чтобы продолжить выполнение установки. Теперь вы готовы создать тренировочный CSR с помощью openssl.
В первую очередь для создания CSR необходимо сгенерировать закрытый ключ. Чтобы создать закрытый ключ с помощью openssl, создайте директорию practice-csr и сгенерируйте ключ в этой директории. Мы будем выполнять этот запрос на фиктивном сервере под названием sammy-server, в отличие от случая создания сертификата для идентификации пользователя или другого ЦС.
Output
Generating RSA private key, 2048 bit long modulus (2 primes)
. . .
. . .
e is 65537 (0x010001)
Теперь у нас имеется закрытый ключ, с помощью которого можно создать CSR, используя утилиту openssl. Вам будет предложено заполнить ряд полей, в том числе указать страну, область и город. Вы можете ввести ., если хотите оставить поле пустым, но для реальных CSR лучше использовать правильные значения при указании своего расположения и организации:
Output
. . .
-----
Country Name (2 letter code) [XX]:US
State or Province Name (full name) []:New York
Locality Name (eg, city) [Default City]:New York City
Organization Name (eg, company) [Default Company Ltd]:DigitalOcean
Organizational Unit Name (eg, section) []:Community
Common Name (eg, your name or your server's hostname) []:sammy-server
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Если вы хотите, чтобы эти значения добавлялись автоматически при вызове openssl, а не запрашивались через интерактивный диалог, вы можете передать аргумент -subj в OpenSSL. Обязательно измените выделенные значения для соответствия вашему расположению, организации и имени сервера:
Чтобы проверить содержимое CSR, вы можете прочитать файл запроса с помощью команды openssl и проверить поля внутри него:
Output
subject=C = US, ST = New York, L = New York City, O = DigitalOcean, OU = Community, CN = sammy-server
Когда вас устроит тема запроса тренировочного сертификата, скопируйте файл sammy-server.req на сервер ЦС с помощью scp:
На этом шаге вы сгенерировали запрос подписи сертификата для вымышленного сервера sammy-server. В реальной ситуации запрос может исходить от веб-сервера разработки, которому требуется сертификат TLS для тестирования, или от сервера OpenVPN, который запрашивает сертификат, чтобы пользователи могли подключиться к VPN. На следующем шаге мы перейдем к подписанию запроса на подписание сертификата с использованием закрытого ключа сервера ЦС.
Firefox
Поскольку Firefox принадлежит Mozilla, то этот веб браузер, конечно, также использует Mozilla Network Security Services (NSS).
Стандартными расположениями папок с базами данных NSS являются:
- ~/.pki/nssdb (на уровне пользователей)
- /etc/pki/nssdb (на общесистемном уровне, может отсутствовать)
Firefox НЕ использует ни одно из этих стандартных расположений, база данных хранится в профиле пользователя, который имеет общий вид ~/.mozilla/firefox/СЛУЧАЙНЫЕ-БУКВЫ-ЦИФРЫ.default/cert9.db, например, ~/.mozilla/firefox/3k0r4loh.default/cert9.db.
Посмотреть корневые сертификаты CA которые использует Firefox в Linux можно следующей командой:
certutil -L -d ~/.mozilla/firefox/*.default/
У Firefox-esr это папка:
certutil -L -d ~/.mozilla/firefox/*.default-esr/
Также вы можете просмотреть корневые CA сертификаты в настройках браузера:
Приватность и Защита → Сертификаты → Просмотр сертификатов → Центры сертификации:
Google chrome / chromium
Как уже было сказано, при работе на Linux, Google Chrome использует библиотеку Mozilla Network Security Services (NSS) для выполнения верификации сертификатов.
Корневые CA сертификаты, которые добавил пользователь, хранятся в файле ~/.pki/nssdb/cert9.db, их можно просмотреть командой:
certutil -L -d ~/.pki/nssdb
Поскольку Chrome не может удалить сертификаты из хранилища NSS, то если вы отключите некоторые из них в настройках веб браузера (Privacy and security → Manage certificates → Authorities), то в том же файле, где хранятся добавленные пользователем корневые CA сертификаты, будут сохранены изменения о полномочиях отключённого сертификата:
Используемые в Google Chrome / Chromium корневые CA сертификаты в Linux можно посмотреть следующим причудливым способом:
1. Найдите расположение файла libnssckbi.so (как было сказано в предыдущем разделе, в нём NSS хранит доверенные корневые сертификаты):
locate libnssckbi.so
Примеры расположений этого файла:
- /usr/lib/libnssckbi.so
- /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so
2. Теперь выполните команду вида:
ln -s /ПУТЬ/ДО/libnssckbi.so ~/.pki/nssdb
Например:
ln -s /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so ~/.pki/nssdb
2. Затем запустите команду:
certutil -L -d sql:$HOME/.pki/nssdb/ -h 'Builtin Object Token'
Вы увидите доверенные корневые сертификаты, которые использует Google Chrome в Linux.
Также вы можете просмотреть корневые CA сертификаты в настройках браузера:
Конфиденциальность и безопасность (выбрать «Ещё») → Настроить сертификаты → Центры сертификации, на английском это Privacy and security → Manage certificates → Authorities.
Mozilla network security services (nss)
Network Security Services (NSS) это набор библиотек, разработанных для поддержки кросс-платформенной разработки защищенных клиентских и серверных приложений. Приложения построенные с использование NSS могут использовать SSL v2 и v3, TLS, PKCS#5, PKCS#7, PKCS#11, PKCS#12, S/MIME, сертификаты X.509 v3 и другие стандарты обеспечения безопасности.
В отличие от OpenSSL, NSS использует файлы базы данных в качестве хранилища сертификатов.
NSS начинается с жёстко закодированного списка доверенных сертификатов CA внутри файла libnssckbi.so. Этот список можно просмотреть из любого приложения, использующего NSS, способного отображать (и манипулировать) хранилищем доверенных сертификатов, например, Chrome-совместимые или Firefox-совместимые браузеры.
Некоторые приложения, использующие библиотеку NSS, используют хранилище сертификатов, отличное от рекомендованного. Собственный Firefox от Mozilla является ярким примером этого.
В вашем дистрибутиве скорее всего уже установлен пакет NSS, в некоторых дистрибутивах он называется libnss3 (Debian и производные) в некоторых — nss (Arch Linux, Gentoo и производные).
Если вы хотите просматривать и изменять хранилища сертификатов NSS, то понадобиться утилита certutil. В Arch Linux эта утилита входит в пакет nss и, следовательно, предустановлена в Arch Linux. А в Debian и производные установка делается так:
sudo apt install libnss3-tools
Ssl-certificate – как добавить файл центра сертификации в centos 7 –
Вложения:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
romanchik_rus пишет: под пользователем нет хранилище «Локальный компьютер» — для установки корневого сертификата
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Корневые сертификаты в «локальный компьютер» по идее должен ставить только администратор. Сам, не передоверяя пользователям и не давая для этого админских прав. В идеале — разворачивать через групповую политику на все компьютеры организации, тогда нет нужны везде ходить и выгонять пользователей с мест. И это заведомо правильный ответ.
Обычным пользователям по рукам за установку корневых сертификатор в «локальный компьютер», ведь они могут без проблем поставить в пользовательские корневые сертификаты. Кроме того, в новых версиях Windows похоже есть ограничение на саму остнастку Сертификаты — без админских прав нельзя установить другую область действия, локальный компьютер, в частности. Интересно сработает ли сохраненная под админом остнастка?
Если не брать сертификаты УЦ (которые без контейнера), то без админских прав будут сложности с флагом CRYPT_MACHINE_KEYSET, который как раз нужен для хранилища «Локальный компьютер». подробнее В переводе: без флага, контейнер создан неадмином — доступен создателю и локальной системе; без флага, контейнер создан админом — доступен создателю и админам (XP: создателю и локальной системе); с флагом, контейнер создан неадмином — доступен создателю и локальной системе, если иные права не заданы CryptSetProvParam; с флагом, контейнер создан админом — доступен создателю и админам (XP: создателю и локальной системе), если иные права не заданы CryptSetProvParam.
Чтобы установить безопасность в контейнере, вызовите функцию CryptSetProvParam с флагом PP_KEYSET_SEC_DESCR после создания контейнера. Этот метод позволяет задать дескриптор безопасности в контейнере.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
источник
Добавление самозаверяющего сертификата в «список доверенных»
Простой ответ на этот вопрос заключается в том, что практически каждое приложение будет обрабатывать его по-своему.
Также OpenSSL и GNUTLS (наиболее широко используемые библиотеки обработки сертификатов, используемые для обработки подписанных сертификатов) ведут себя по-разному при обработке сертификатов, что также усложняет проблему. Также операционные системы используют различные механизмы для использования «корневого центра сертификации», используемого большинством веб-сайтов.
Это в стороне, приводя Debian в качестве примера. Установите ca-certificatesпакет:
apt-get install ca-certificates
Затем вы копируете открытую половину вашего ненадежного сертификата CA (тот, который вы используете для подписи своего CSR) в каталог сертификатов CA (как root):
cp cacert.pem /usr/share/ca-certificates
И получите его, чтобы перестроить каталог с включенным сертификатом, запустите от имени пользователя root:
dpkg-reconfigure ca-certificates
и выберите askопцию, выделите ваш сертификат, отметьте его для включения и выберите ОК.
Большинство браузеров используют свою собственную базу данных CA, поэтому certutilдля изменения их содержимого необходимо использовать такие инструменты, как (в Debian, предоставляемом libnss3-toolsпакетом). Например, в Chrome вы запускаете что-то вроде:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
Firefox позволит вам просмотреть сертификат на диске, распознать его как файл сертификата и затем импортировать его в список корневых ЦС.
Большинство других команд, таких как curlпереключатели командной строки, вы можете использовать для указания на ваш CA,
curl --cacert /path/to/CA/cert.file https://...
или вообще отказаться от проверки SSL
curl --insecure https://...
Остальные будут нуждаться в индивидуальном расследовании, если ca-certificatesподобный трюк не сортирует его для данного конкретного приложения.
Изучение и проверка содержимого списка crl
Если вы хотите изучить содержимое файла CRL, в том числе с целью подтверждения списка отозванных сертификатов, выполните следующую команду openssl в директории easy-rsa на вашем сервере ЦС:
Также вы можете запустить эту команду на любом сервере или на любой системе, где установлен инструмент openssl с копией файла crl.pem. Например, если вы перенесли файл crl.pem на вторую систему и хотите убедиться в отзыве сертификата sammy-server, вы можете использовать следующий синтаксис команды openssl, указав записанный при отзыве сертификата серийный номер вместо выделенного здесь:
Output
Serial Number: 8348B3F146A765581946040D5C4D590A
Revocation Date: Apr 1 20:48:02 2020 GMT
Обратите внимание на использование команды grep для проверки уникального серийного номера, записанного на шаге отзыва. Теперь вы можете подтвердить содержимое списка отзыва сертификатов на любой системе, использующей его для ограничения доступа к пользователям и сервисам.
Как добавить сертификат?
Установка сертификатов
- Откройте настройки телефона.
- Нажмите Безопасность Дополнительные настройки …
- В разделе “Хранилище учетных данных” выберите Установка сертификатов …
- В левом верхнем углу нажмите на значок меню .
- Выберите “Открыть” и найдите сертификат.
- Нажмите на файл. …
- Введите название сертификата.
- Нажмите ОК.
Интересные материалы:
Как кота приучить к лотку без наполнителя?Как кота приучить к лотку?Как котенка научить ходить в туалет на улицу?Как котенка приучить к унитазу?Как котята открывают глазки?Как коту накапать капли на холку?Как коты начинают гулять?Как коты начинают метить?Как коты определяют хозяина?Как коты отходят от наркоза после операции?
Общесистемные корневые ca сертификаты
Консолидированный файл, включающий в себя все корневые сертификаты CA операционной системы, находится в файле /etc/ssl/certs/ca-certificates.crt. Этот файл может быть символической ссылкой на фактическое расположение сертификатов в файлах /etc/ssl/cert.pem или /etc/ca-certificates/extracted/tls-ca-bundle.pem.
Корневые CA сертификаты в виде отдельных файлов расположены в директории /etc/ssl/certs, в этой директории могут быть ссылки на фактическое расположение сертификатов, например, в /etc/ca-certificates/extracted/cadir/.
Для просмотра Subject всех корневых CA сертификатов в системе:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt
Эти сертификаты используются утилитоми curl, wget и другими. Веб-браузеры Chromium и Firefox используют свои собственные хранилища корневых CA сертификатов.
Чтобы узнать, где веб браузеры хранять корневые CA сертификаты в Linux, нам нужно познакомиться с NSS.
Просмотр содержимого ключей и сертификатов
Мы можем подробно изучить содержимое всех созданных в OpenSSL файлов, а также при необходимости конвертировать их в другие форматы.
В следующих командах используются тестовые файлы со следующими именами:
Обратите внимание на расширения файлов — они могут отличаться от тех, которые используются в других инструкциях. Например, вместо .key и .crt может использоваться расширение .pem. Расширение файла не имеет особого значения кроме как служить подсказкой пользователю, что именно находится в этом файле. Это же самое касается и имён файлов — вы можете выбирать любые имена.
Все эти файлы являются текстовыми:
cat rootCA.key
Там мы увидим примерно следующее:
-----BEGIN PRIVATE KEY----- MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDJBKkr6XzzAcXD eyDQdvB0SWE2Fl3nqlX/c2RgqMgScXtgidEzOu9ms3Krju5UKLokkQJrZFPMtiIL MuPJFdYjVyfkfnqlZiouBVgJ60s8NQBBI8KnyyAoJCIFdASoW4Kv5C5LT8pX9eRa /huJaRJL5XsFUGnTOLvW2ZLN52iAux9CoZlmH6ZF4nuQpblwN0MHULAhze52VNFT ………………………………………………….. ………………………………………………….. ………………………………………………….. ………………………………………………….. ………………………………………………….. ………………………………………………….. -----END PRIVATE KEY-----
Решение
Подготовка ROOT-CA. (CentOS7)
Корневой сертификат ROOT-CA, будем выпускать на CentOS, там-же будем подписывать сертификат для PKI AD-CA.
Для решения данной задачи на машине с Linux необходимо установить пакет easy-rsa, который содержится в репетиторе epel-release
yum install epel-releas
yum install easy-rsa
Более подробно с документацией к easy-rsa можно ознакомится на GitHub/OpenVPN
После того как мы установили easy-rsa мы можем создать главный удостоверяющий центр сертификации.
(Все операции буду выполнять из под пользователя root)
Создадим в директории пользователя, каталог – в котором будем хранить наш PKI
mkdir -p ~/ROOTca
Далее нужно скопировать последнюю версию easy-rsa в наш каталог ROOTca,
dir /usr/share/easy-rsa/
В моём случаи последняя версия 3.0.8. Её и будем копировать.
Копируем easy-rsa в каталог ROOTca
cp -R /usr/share/easy-rsa/3.0.8/* ~/ROOTca
теперь нам необходимо создать файл ответов vars, и отредактировать его
создаем и сразу редактируем
cat > ~/ROOTca/vars
пример файла vars с описанием
собираем файл vars, у меня получилось так:
Создание корневого приватного ключа
Внимание: этот ключ используется для подписи запросов сертификатов, любой, кто получил этот ключ, может подписывать сертификаты от вашего имени, поэтому храните его в безопасном месте:
Генерация приватного ключа RSA используя параметры по умолчанию (ключ будет сохранён в файл с именем rootCA.key):
openssl genpkey -algorithm RSA -out rootCA.key
Опция -out указывает на имя файла для сохранения, без этой опции файл будет выведен в стандартный вывод (на экран). Имя выходного файла не должно совпадать с именем входного файла.
Для безопасности ключа его следует защитить паролем. Генерация приватного ключа RSA используя 128-битное AES шифрование (-aes-128-cbc) и парольную фразу “hello” (-pass pass:hello):
openssl genpkey -algorithm RSA -out rootCA.key -aes-128-cbc -pass pass:hello
Конечно, опцию -pass pass:hello можно не указывать, тогда вам будет предложено ввести пароль во время генерации ключа.
Список поддерживаемых симметричных алгоритмов шифрования приватного ключа можно узнать в документации (раздел SUPPORTED CIPHERS):
man enc
Если для генерируемого ключа не указано количество бит, то по умолчанию используется 2048, вы можете указать другое количество бит с помощью команды вида (будет создан 4096-битный ключ):
openssl genpkey -algorithm RSA -out rootCA.key -aes-128-cbc -pkeyopt rsa_keygen_bits:4096
Управление доверенными корневыми сертификатами в windows 10/8
В одной из наших предыдущих публикаций мы увидели, что такое корневые сертификаты . Могут быть случаи, когда некоторые компании или пользователи могут чувствовать необходимость управлять и настраивать доверенные корневые сертификаты, чтобы другие пользователи в домене не могли настраивать свой собственный набор. В этом посте мы увидим, как управлять доверенными корневыми сертификатами и добавлять сертификаты в хранилище доверенных корневых центров сертификации в Windows 10/8.1.
Чтобы добавить сертификаты в хранилище доверенных корневых центров сертификации для локального компьютера , в меню WinX в Windows 10/8.1 откройте окно «Выполнить» и введите mmc и нажмите Enter, чтобы открыть Microsoft Management Control.
Нажмите ссылку меню «Файл» и выберите «Добавить/удалить оснастку». Теперь в разделе «Доступные оснастки» нажмите Сертификаты и нажмите «Добавить».

Нажмите ОК. В следующем диалоговом окне выберите
Учетная запись компьютера
, а затем нажмите Далее.

Теперь выберите
Локальный компьютер
и нажмите «Готово».

Теперь вернувшись в MMC, в дереве консоли дважды щелкните
Сертификаты
, а затем щелкните правой кнопкой мыши
Хранилище доверенных корневых центров сертификации
. В разделе
Все задачи
выберите
Импорт
.

Откроется мастер импорта сертификатов.

Следуйте инструкциям мастера, чтобы завершить процесс.
Теперь давайте посмотрим, как настроить и доверенные корневые сертификаты для локального компьютера . Откройте MMC, нажмите ссылку меню «Файл» и выберите «Добавить/удалить оснастку». Теперь в разделе «Доступные оснастки» нажмите Редактор объектов групповой политики и нажмите кнопку Добавить. Выберите компьютер, локальный объект групповой политики которого вы хотите редактировать, и нажмите «Готово»/«ОК». 
Теперь вернитесь в дерево консоли MMC, перейдите к Политике локального компьютера> Конфигурация компьютера> Параметры Windows> Параметры безопасности. Далее
Политики открытых ключей
. Дважды щелкните «Параметры проверки пути сертификата» и перейдите на вкладку «Хранилища».
Здесь установите флажки Определить эти параметры политики , Разрешить использование доверенных корневых центров сертификации для проверки сертификатов и Разрешить пользователям доверять сертификатам равноправного доверия . . 
Наконец, на вкладке «Хранилища»> «Хранилища корневых сертификатов» выберите один из вариантов в разделе Корневые центры сертификации, которым клиентские компьютеры могут доверять , и нажмите «ОК». Если вы сомневаетесь, используйте рекомендованный вариант.
Чтобы узнать, как управлять доверенными корневыми сертификатами для домена и как добавить сертификаты в хранилище доверенных корневых центров сертификации для домена , посетите Technet
RCC – это бесплатный сканер корневых сертификатов, который может помочь вам сканировать корневые сертификаты Windows на наличие ненадежных.
Установка вручную
Выше рассмотрены самые удобные способы обновления корневых сертификатов. Но мы можем столкнуться с ситуацией, когда в предоставляемых официальных пакетах не окажется обновленного сертификата. Например, на момент написания данной инструкции у систем на базе Deb не оказалось нового сертификата для Let’s Encrypt, а старый закончил свое действие 30 сентября 2021 года.
В данном случае, мы можем установить любой нужный нам сертификат руками. Для этого скачала находим его и копируем — приведем пример с Let’s Encrypt. На странице letsencrypt.org/ru/certificates мы можем увидеть ссылки на корневые сертификаты.
Допустим, нам нужен Let’s Encrypt Authority X3 (Signed by ISRG Root X1), который доступен по ссылке letsencrypt.org/certs/letsencryptauthorityx3.pem.txt. Копируем последовательность и создаем файл на компьютере:
vi /usr/share/ca-certificates/letsencryptauthorityx3.pem
Установка корневого сертификата | сбис помощь
Каждый сертификат, используемый на компьютере, проверяется на подлинность. Для выполнения такой проверки в системе должен быть установлен корневой или кросс-сертификат того удостоверяющего центра, которым он выдан.
Сертификаты, необходимые для работы в «СБИС Электронная отчетность», ставятся на компьютер автоматически при установке программы; для работы на ЭТП — при запуске мастера настройки рабочего места.
Если в вашей системе нет корневого или кросс-сертификата УЦ, электронная подпись работать не будет. Чтобы установить их вручную, вам потребуется файл с корневым или кросс-сертификатом. Все сертификаты УЦ Тензор можно скачать на сайте.
Корневой или кросс-сертификат УЦ установлен, можно приступать к работе с электронной подписью.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl enter.
Установка корневого сертификата в локальное хранилище компьютера
Настоящий документ содержит описание последовательности действий по установке и настройке программного обеспечения автоматизированного рабочего места пользователя системы «Электронный бюджет».
Список терминов и сокращений
В документе используются следующие термины и сокращения:
АРМ – автоматизированное рабочее место пользователя системы «Электронный бюджет»;
ПО – программное обеспечение;
Пользователь – зарегистрированный в системе «Электронный бюджет» сотрудник организации, которому предоставлен доступ к определенным функциям в системе «Электронный бюджет», в соответствии с заявкой на подключение;
Система «Электронный бюджет» – государственная интегрированная информационная система управления общественными финансами «Электронный бюджет»;
Порядок подготовки арм
Установка и настройка программного обеспечения автоматизированного рабочего места пользователя должна выполняться под учетной записью пользователя, входящего в группу локальных администраторов операционный системы.
Порядок подготовки АРМ пользователя приведен в таблице (Таблица 1).
Таблица 1. Порядок подготовки АРМ пользователя.
Описание операций
Копирование сертификата сервера TLS
Для копирования файла сертификата сервера TLS в локальную директорию АРМ пользователя необходимо:
Установка сертификатов используя криптопро в linux
Описание процесса установки приведено на примере дистрибутива семейства Debian (x64).
Названия файлов и директорий могут варьироваться от системы к системе.
При установке личных сертификатов не нужны права суперпользователя, и наоборот, при установке сертификатов УЦ
(корневых и промежуточных) могут потребоваться такие права.
Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 16188003
\.FLASHivanov\.FLASHpetrov\.FLASHsidorov\.FLASHvasiliev\.FLASHsmirnov
OK.
Total: SYS: 0,020 sec USR: 0,060 sec UTC: 0,180 sec
Можно сразу установить личные сертификатов из всех доступных контейнеров одной командой:
/opt/cprocsp/bin/amd64/csptestf -absorb -certs
Произойдет установка сертификатов, находящихся во всех доступных в момент запуска команды контейнерах
(съемных флэш-носителях, жесткого диска и т. д.) в хранилище uMy.
При необходимости скопируйте ключевой контейнер \.FLASH.sidorov на жесткий диск:
/opt/cprocsp/bin/amd64/csptest -keycopy -contsrc '\.FLASHsidorov' -contdest '\.HDIMAGEsidor'
CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 38556259
CryptAcquireContext succeeded.HCRYPTPROV: 38770755
Total: SYS: 0,000 sec USR: 0,100 sec UTC: 14,920 sec
[ErrorCode: 0x00000000]
Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.
Проверьте наличие нового контейнера \.HDIMAGEsidor:
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:80) v4.0.9009 KC1 Release Ver:4.0.9797 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 34554467
\.FLASHivanov
\.FLASHpetrov
\.FLASHsidorov
\.FLASHvasiliev
\.FLASHsmirnov
\.HDIMAGEsidor
OK.
Total: SYS: 0,010 sec USR: 0,050 sec UTC: 0,130 sec
[ErrorCode: 0x00000000]
Установите личный сертификат:
/opt/cprocsp/bin/amd64/certmgr -inst -cont '\.HDIMAGEsidor'
Certmgr 1.0 (c) "CryptoPro", 2007-2021.
program for managing certificates, CRLs and stores
Install:
=============================================================================
1-------
Issuer : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, E=sidorov@mail.ru, C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
Serial : 0x12C40953000000000019
SHA1 Hash : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
SubjKeyID : 5fc37e578cce0abe739c4da227f68a2f9abcb128
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 09/08/2021 06:07:00 UTC
Not valid after : 09/11/2021 06:17:00 UTC
PrivateKey Link : No
CA cert URL : http://cert1.ucestp.ru/estp.crt
Extended Key Usage : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]
Скачайте корневой сертификат по ссылке выше (из поля CA cert URL):
http://cert1.ucmy-sertif.ru/estp.crt
и перенесите его, например, в домашнюю папку:
cp ~/Загрузки/estp.crt ~/estp.crtУстановите корневой сертификат (возможно потребуются права суперпользователя):
/opt/cprocsp/bin/amd64/certmgr -inst -store uroot -file ~/estp.crt
Certmgr 1.0 (c) "CryptoPro", 2007-2021.
program for managing certificates, CRLs and stores
Install:
=============================================================================
1-------
Issuer : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Serial : 0x50D7BC0E4A3EC9994454EB83013EE5F5
SHA1 Hash : 0xd2144a3e098b6f2decb224257f48e2b7c6d85209
SubjKeyID : 07b753cd561dee8e5e83407be4575ecc05bfec14
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 17/06/2021 13:15:21 UTC
Not valid after : 17/06/2021 13:25:01 UTC
PrivateKey Link : No
=============================================================================
[ErrorCode: 0x00000000]
Проверьте установку личного сертификата:
/opt/cprocsp/bin/amd64/certmgr -list -store uMy
Certmgr 1.0 (c) "CryptoPro", 2007-2021.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : OGRN=1234567890123, INN=1234567890, STREET=Арбат, E=info@berkut.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО 'Беркут', OU=Удостоверяющий центр, CN=UCESTP
Subject : SNILS=12345678901, OGRN=1234567890123, INN=0011234567890, E=sidorov@mail.ru, C=RU, S=10 Республика Карелия, L=Петрозаводск, O=ООО Ромашка, CN=Сидоров Николай Павлович, T=Администратор, G=Николай Павлович, SN=Сидоров
Serial : 0x12C40953000000000019
SHA1 Hash : 0xdd0ea8db46a372571c55315cd7e4d8e2de8fb9b6
SubjKeyID : 5fc37e578cce0abe739c4da227f68a2f9abcb128
Signature Algorithm : ГОСТ Р 34.11/34.10-2001
PublicKey Algorithm : ГОСТ Р 34.10-2001 (512 bits)
Not valid before : 09/08/2021 06:07:00 UTC
Not valid after : 09/11/2021 06:17:00 UTC
PrivateKey Link : Yes
Container : HDIMAGE\sidor.0002B01
Provider Name : Crypto-Pro GOST R 34.10-2021 KC1 CSP
Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0
CA cert URL : http://cert1.ucestp.ru/estp.crt
Extended Key Usage : 1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.2
=============================================================================
[ErrorCode: 0x00000000]
Шаг 3 — создание центра сертификации
Прежде чем создавать закрытый ключ и сертификат ЦС, необходимо создать файл с именем vars и заполнить его значениями по умолчанию. Используйте команду cd для перехода в директорию easy-rsa, а затем создайте и отредактируйте файл vars с помощью nano или другого предпочитаемого текстового редактора:
Предоставляемый с CentOS 8 по умолчанию текстовый редактор — vi. vi является очень мощным текстовым редактором, но освоить работу с ним неопытным пользователям достаточно сложно. Вы можете установить более удобный для пользователя редактор, например nano, для облегчения редактирования файлов конфигурации на сервере CentOS 8:
Когда вам будет предложено установить nano, введите y, чтобы продолжить выполнение установки. Теперь вы готовы к редактированию файла vars:
Открыв файл, вставьте следующие строки и измените каждое выделенное значение для отражения информации о вашей организации. При этом важно, чтобы ни одно значение не оставалось пустым:
(необязательно) — отзыв сертификата
Иногда сертификат требуется отозвать, чтобы пользователь или сервер не могли его использовать. Например, это может потребоваться в случае кражи ноутбука, взлома веб-сервера, увольнения сотрудника, расторжения договора с подрядчиком и т. д.
Далее кратко описана процедура отзыва сертификата:
- Для отзыва сертификата используется команда
./easyrsa revoke client_name. - Сгенерируйте новый CRL с помощью команды
./easyrsa gen-crl. - Переместите обновленный файл
crl.pemна сервер или серверы, использующие ваш ЦС, а на этих системах скопируйте этот файл в директорию или директории программ, которые на него ссылаются. - Перезапустите все службы, использующие ваш ЦС и файл CRL.
С помощью этой процедуры вы можете отозвать любые сертификаты, которые ранее выпустили для вашего сервера. В следующих разделах мы подробно рассмотрим каждый шаг, начиная с команды revoke.
Отзыв сертификата
Для отзыва сертификата перейдите в директорию easy-rsa на вашем сервере ЦС:
Затем запустите скрипт easyrsa с опцией revoke, указав имя клиента, у которого хотите отозвать сертификат: В соответствии с приведенным выше практическим примером, сертификат имеет обычное имя sammy-server:
Система предложит вам подтвердить отзыв сертификата. Введите yes:
Output
Please confirm you wish to revoke the certificate with the following subject:
subject=
commonName = sammy-server
Type the word 'yes' to continue, or any other input to abort.
Continue with revocation: yes
. . .
Revoking Certificate 8348B3F146A765581946040D5C4D590A
. . .
Обратите внимание на выделенное значение в строке Revoking Certificate. Это значение представляет собой уникальный серийный номер отзываемого сертификата. Данное значение потребуется вам, если вы захотите просмотреть список отзыва и убедиться в наличии в нем сертификата, как описано в последнем шаге этого раздела.
После подтверждения действия ЦС выполнит отзыв сертификата. Однако удаленные системы, использующие ЦС, не имеют возможности проверить отзыв сертификатов. Пользователи и серверы смогут использовать этот сертификат, пока список отзыва сертификатов ЦС (CRL) не будет распространен по всем системам, использующим данный ЦС.
На следующем шаге мы сгенерируем CRL или обновим существующий файл crl.pem.
Заключение
В этом обучающем руководстве мы создали частный Центр сертификации на отдельном сервере CentOS 8 с помощью пакета Easy-RSA. Мы узнали, как работает модель доверия между сторонами, полагающимися на ЦС. Также мы создали и подписали запрос на подписание сертификата (CSR) для вымышленного сервера и научились отзывать сертификаты.
Теперь вы можете выдавать сертификаты пользователям и использовать их в OpenVPN и других подобных сервисах. Также вы можете использовать свой ЦС для настройки веб-серверов разработки и тестирования с помощью сертификатов, чтобы защитить свои непроизводственные среды.
Если вам требуется дополнительная информация об использовании OpenSSL, вам будет полезен наше обучающее руководство Основы OpenSSL: работа с сертификатами SSL, закрытыми ключами и запросами CSR, который поможет вам лучше познакомиться с основами OpenSSL.
Генерирование списка отзыва сертификатов
Мы отозвали сертификат, и теперь нам нужно обновить список отозванных сертификатов на сервере ЦС. После получения обновленного списка отзыва вы сможете определить, какие пользователи и системы имеют действующие сертификаты в вашем ЦС.
Чтобы сгенерировать CRL, запустите команду easy-rsa с опцией gen-crl, оставаясь в директории ~/easy-rsa:
Если вы использовали фразу-пароль при создании файла ca.key, вам будет предложено ввести ее. Команда gen-crl сгенерирует файл с именем crl.pem, содержащий обновленный список отозванных сертификатов для этого ЦС.
Далее вам нужно будет передавать обновленный файл crl.pem на все серверы и клиенты, использующие этот ЦС, при каждом запуске команды gen-crl. В противном случае клиенты и системы сохранят доступ к сервисам и системам, использующим ваш ЦС, так как данным сервисам нужно сообщить об отзыве сертификата.
