The Diary
Дневникът на Георги
<- Сряда, 30 Януари 2008 | Начална страница | Петък, 1 Февруари 2008 ->
Четвъртък, 31 Януари 2008
Тъй като всеки път се налага да търся поредността от команди за
генериране на подходящи сертификати за SSL сайт, ще си ги запиша
тук:
openssl genrsa -rand /dev/random -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Кратко обяснение, за да не се чудя след шест месеца, кое какво беше.
- Първият ред генерира, частен ключ. Ако се иска да е криптиран
трябва да се добави -aes256
.
- Вторият ред генерира signing request. csr файла го изпращате на любимото ви certification authority, за да получите подписан сертификат.
- С третият ред си генерирате подписан от вас (самоподписан) сертификат. Ползването на такъв не е добра идея, освен ако не сте свикнали да помните sha1 и md5 чексуми и да ги сравнявате, когато браузерът ви пита за сертификат подписан от неизвестно на него authority.
/Мерси на Владимир Пенов, че поправи обясненията ми/.
[ Коментари: 13 ]Коментари
Що не си го направиш да ти ги генерира онлайн? :-)))
Не се прави на Лили Иванова, ами вземи си купи един сертификат от VeriSign :)))
Вторият ред не генерира сертификат - rsa обработва само RSA ключове. Може да се ползва, ако server.key е криптиран да го dump-неш в server.pem. В случая е излишен.
@коко и георги: не бъркайте генерацията с подписването от authority на сертификата.
@владо: Мерси, абсолютно си прав, че "openssl rsa -in server.key -out server.pem" е излишно. Не знам какво съм мислил като съм го писал, но вече е поправено.
Всъщност има възможност да си генерирате ключ и сертификат само с една команда:
openssl req -nodes -new -keyout server.key -out server.csr
...С третият ред си генерирате подписан от вас (самоподписан) сертификат. Ползването на такъв не е добра идея, освен ако не сте свикнали да помните sha1 и md5 чексуми и да ги сравнявате, когато браузерът ви пита за сертификат подписан от неизвестно на него authority...
Не е добра идея?! Right.. Всъщност ползването на "самоподписан" сертификат е често срещана практика в много фирмени интранети. Всичко е чудесно, докато кореновият сертификат на издателя е импортиран в браузъра на всеки служител. А всичко това като процес може да се автоматизира, така че да не ти се налага да обикаляш 2 000 компютъра, примерно. Оставям на страна факта, че пропускаш да спонсорираш някоя комерсиална организация.
Интранетите винаги са специални случаи. А какво ще кажеш за случая когато голяма българска банка, ползваше самоподписани сертификати?
Банките са точно пример за по-частен/специален случай. Ако системата им оперира с клиентски сертификати като начин за идентификация, а на самите клиенти е обяснено ясно със стъпки какво трябва да направят, за да имат работещо ел. банкиране - всичко е сравнително наред, нека си бъдат подписвани от банката. А дори да приемеш обратното - SSL откога е магически куршум, който спира MITM атаки?? Един валиден сертификат не гарантира нищо за масовия потребител, който няма представа от hash функции и предпочита да прескача предупрежденията.
@slamDunk: Е аз какво съм написал по-горе? Точно поради факта, че масовата публика прескача всякакви предупреждения, които се появяват в браузера това е доста основателна причина да не ползваш самоподписани сертификати за *публични* услуги.
Изобщо не става въпрос за клиентски сертификати и имането на собствено authority.
Всеки може да си пусне CA, въпроса е, че докато сертификата на неговото CA го няма в клиентския браузер/софтуер това само по-себе си не дава допълнителна сигурност.
Няма нищо в сигурността, което само по себе си да е "магически куршум". Добре известно е, че сигурността е процес, а не е нещо което се купува, пуска и забравя.
Ако някоя банка на публичния си уеб сайта за електронно банкиране ползва самоподписан от нея сертификат ти би ли ползвал това банкиране и достатъчно сигурно ли е то за нормален потребител?
Според мен бъркаш понятията публичен и частен, но не това е въпросът. Една банка може да ползва/издава собствено подписани сертификати на клиентите си, без това допълнително да застрашава сигурността на данните. Вече обясних и в КАКЪВ СЛУЧАЙ това е приемливо, не виждам смисъл да го правя отново, а ти просто повтаряш думите ми.
Явно няма да се разберем, защото говорим за различни неща. Никога не съм оспорвал, че банка може да си направи CA и да подписва какви си иска сертификати. Няма проблем и сертификата за web сървъра да си подпише.
Само че не е никак добра идея с подобен сертификат подписан от тях и не подписан от ИЗВЕСТНО на браузера им authority да "защитават" публичния си сайт.
Disclaimer: Except where otherwise noted all opinions expressed here are personal
opinions of the author and do not reflect official opinions of my employer or
any other person, company or organization associated with the author.
Copyright: Except where otherwise noted the content of this site is licensed under a
Creative Commons Attribution License. Текстът на договора за ползване на български
Copyright (cc) 2003-2011 Georgi Chorbadzhiyski. Some rights reserved.
Comments, texts and pictures not signed by me are property of their respective owners.
Страницата е генерирана от Glog v3.99-test
Либим те. И аз всеки път се ровя кое къде какво...
Написа Васил Колев (www) на 01-Feb-2008 14:28