0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
Всем привет, Я НИХУЯ НЕ ПОНИМАЮ SSL!
Это бесит, но все материалы которые я находил, чтобы ознакомиться, являются
switch уровень развития читателя {
case "пыхомакака":
говноинструкцией без объяснений, с перепутанными терминами, внизу кнопка была ли полезна эта статья
бряк;
case "девопс":
материалом, который непонятно для кого написан, потому что уже предполагает знания, и только что-то напоминает, либо разбирает тонкости
бряк;
case "борманд":
стандартом или книгой, которая настолько последовательно и подробно подаёт материал, что общую картину сходу не сложить, а потому и непонятно по каким полочкам раскладывать узнаваемое
бряк;
}
Подскажите, где покурить нормальный ман, и как эту всю залупу прочамать. Сижу сейчас с добавленным в пакетный менеджер языка кастомным репозиторием (ссылка на гит), который находится за ssl, и моя локальная машина отказывается качать пакет, потому что не доверяет сама себе, чтобы с ним связаться. Что за гавно блять? Какие-то самоподписанные хуификаты, пиздификаты. Говорят, что-то нужно добавить system-wide, чтобы она начала чему-то доверять. Что именно? Куда? crt, key, pem?
Я, короче, пока в общих чертах картину не понимаю, вообще детали не могу воспринимать, хуйня какая-то творится. А делать то, сам не знаю что, лишь бы заработало, дико бесит.
Запостил: vistefan,
03 Февраля 2021
vistefan 03.02.2021 15:51 # 0
vistefan 03.02.2021 15:55 # 0
MAPTbIwKA 03.02.2021 16:51 # 0
Книга по openssl: https://doc.lagout.org/network/Network%20Security%20With%20OpenSSL%2020 02.pdf (очень старая, но общине принципы же остались)
Хорошая книга про PKI на винде (первые 39 страниц дают хороший овервью без жесткой привязки к ОС, тоже можно почитать)
https://kvazar.files.wordpress.com/2008/12/unencrypted.pdf
3oJIoTou_xyu 04.02.2021 12:02 # 0
cykablyad 04.02.2021 13:16 # 0
хуйня какая-то, локальной машине похуй должно быть на саму себя до тех пор пока tls client auth нет
у домена с гитом серт не стухший?
cykablyad 04.02.2021 13:28 # 0
тлдр:
вот у тебя есть комп и другой комп
чтобы установить между ними защищенное соединение тебе нужно шифровать
чтобы понять что ты соединяешься с тем с чем на самом деле - нужен пруф
сертификат выполняет роль пруфа, но сам по себе является бумажкой из под жопы, и этой бумажке нужен другой пруф от какого-нибудь большого дяди, который подтвердит "да, это валидная бумажка"
для этого сертификат подписывается сертификатом и ключом этого большого дяди, сертификат которого подписывается, в свою очередь, еще большим дядей, и так, пока ты не дойдешь до ультимейт босса этого мира, для доверия которому никаких пруфов не нужно, он и без них охуенный
именно этот ультимейт дядя имеет самоподписанный сертификат, и все знают про него, и ключ от него лежит в единственном экземпляре где-нибудь в сейфе в сундуке на днище тихого океана, чтоб не дай бог не проебать
собственно, для того чтобы проверить другой комп, тебе нужно проверить, что его сертификат, который он тебе дал, не говно, и то, что он подписан с тем же ключом, что этот компуктер использует для шифрования (иначе он может подсунуть тебе просто какое-то говно)
плюс к этому для подтверждения часто (в хттпс например) нужно, чтобы сертификат обязательно имел расово верные расширения и атрибуты (такие как, например, правильное DNS имя этого компа - под другим именем этот компуктер не имеет права называться)
> pem
PEM - это формат хранения сертификатов, ключей, запросов на подпись и прочей поебени (ASN.1 засунутый в base64)
для того чтоб узнать что там внутри - достаточно его просто открыть в notepad.exe и посмотреть на заголовок
vistefan 04.02.2021 15:37 # 0
MAPTbIwKA 04.02.2021 15:47 # 0
Не всегда: для шифрования можно использовать как ключ из сертификата, так и случайный, эфемерный, созданный в рамках DH сессии.
Во втором случае ты реализуешь PFS: если Ева спиздит ключ, то не сможет расшифровать записанную сессию.
Это кстати не TLS-specific: IPSec тоже примерно так делает
MAPTbIwKA 04.02.2021 15:54 # 0
vistefan 04.02.2021 15:21 # 0
MAPTbIwKA 04.02.2021 15:25 # 0
посмотри git config на предмет ``http.sslCAInfo``