Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
openssl pkcs12 -export -in client01.crt -inkey client01.key -clcerts \
-out client01.p12 -passout pass:PASSWORD_HERE
UPD2: Ключ -aes256 не даст желаемого результата.
Помимо этого, в формате PKCS#12 ограниченная поддержка алгоритмов шифрования: вики.
Теоретически, через флаги -certpbe aes-256-cbc -keypbe aes-256-cbc можно заставить openssl шифровать сертификат и ключ с помощью aes. Но винда данные файлы поддерживать не будет, увы :(
Создание клиентского закрытого ключа и запроса на сертификат (CSR):
появились клиенты, для которых нельзя применять OpenVPN (политики безопасности, нежелания и.д.),
Выдать пользователю инструкцию по генерации ключа и отсылке вам запроса не всегда возможно — слишком сложные действия на которые у пользователя может не быть прав.Если нет прав, значит у пользователя есть админы. Раз есть админы, значит они должны знать, что у пользователя есть какая-то кастомная схема с авторизацией по ключам. Потому что когда у пользователя что-то сломается, он пойдет к своим админам в первую очередь, а тем придется ковыряться по всей цепочке.
Если клиенты довольны и угрозы безопасности нет, то в чём дело?Клиент не понимает, что он делает/получает, поэтому он и доволен.
В крупном банке на любые операции с правами администратора будете год получать разрешение от всех отделов безопасности по цепочке.А если не пошли и не получили разрешения, то получать по шапке позже, когда все эти отделы выяснят, что что-то тут сделано без их разрешения.
Да и не нужны админские права для генерации ключа в большинстве случаев.
Для того чтобы клиент смог подключиться по сертификату ему необходимо отправить файл client01.p12 и ca.crt, а так же сообщить пароль для установки сертификата. ca.crt необходим, так как мы не используем его для сертификации сервера, для этомо используеться Let's Encrypt.
extendedKeyUsage = clientAuth
Авторизация с помощью сертификата ssl на nginx + Let's Encrypt