< HomePage | Снимки
<- Сряда, 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 ]
Коментари

Либим те. И аз всеки път се ровя кое къде какво...

Написа Васил Колев (www) на 01-Feb-2008 14:28


Що не си го направиш да ти ги генерира онлайн? :-)))

Написа Коко на 01-Feb-2008 15:05


Не се прави на Лили Иванова, ами вземи си купи един сертификат от VeriSign :)))

Написа Георги (www) на 01-Feb-2008 16:24


Вторият ред не генерира сертификат - rsa обработва само RSA ключове. Може да се ползва, ако server.key е криптиран да го dump-неш в server.pem. В случая е излишен.

Написа Владимир Пенов на 01-Feb-2008 18:52


@коко и георги: не бъркайте генерацията с подписването от authority на сертификата.

Написа Георги Чорбаджийски (www) на 01-Feb-2008 21:07


@владо: Мерси, абсолютно си прав, че "openssl rsa -in server.key -out server.pem" е излишно. Не знам какво съм мислил като съм го писал, но вече е поправено.

Написа Георги Чорбаджийски (www) на 01-Feb-2008 21:24


Всъщност има възможност да си генерирате ключ и сертификат само с една команда:

openssl req -nodes -new -keyout server.key -out server.csr

Написа Георги Чорбаджийски (www) на 01-Feb-2008 21:28


...С третият ред си генерирате подписан от вас (самоподписан) сертификат. Ползването на такъв не е добра идея, освен ако не сте свикнали да помните sha1 и md5 чексуми и да ги сравнявате, когато браузерът ви пита за сертификат подписан от неизвестно на него authority...


Не е добра идея?! Right.. Всъщност ползването на "самоподписан" сертификат е често срещана практика в много фирмени интранети. Всичко е чудесно, докато кореновият сертификат на издателя е импортиран в браузъра на всеки служител. А всичко това като процес може да се автоматизира, така че да не ти се налага да обикаляш 2 000 компютъра, примерно. Оставям на страна факта, че пропускаш да спонсорираш някоя комерсиална организация.

Написа SlamDunk на 03-Feb-2008 15:29


Интранетите винаги са специални случаи. А какво ще кажеш за случая когато голяма българска банка, ползваше самоподписани сертификати?

Написа Георги Чорбаджийски (www) на 03-Feb-2008 17:27


Банките са точно пример за по-частен/специален случай. Ако системата им оперира с клиентски сертификати като начин за идентификация, а на самите клиенти е обяснено ясно със стъпки какво трябва да направят, за да имат работещо ел. банкиране - всичко е сравнително наред, нека си бъдат подписвани от банката. А дори да приемеш обратното - SSL откога е магически куршум, който спира MITM атаки?? Един валиден сертификат не гарантира нищо за масовия потребител, който няма представа от hash функции и предпочита да прескача предупрежденията.

Написа SlamDunk на 03-Feb-2008 18:22


@slamDunk: Е аз какво съм написал по-горе? Точно поради факта, че масовата публика прескача всякакви предупреждения, които се появяват в браузера това е доста основателна причина да не ползваш самоподписани сертификати за *публични* услуги.

Изобщо не става въпрос за клиентски сертификати и имането на собствено authority.

Всеки може да си пусне CA, въпроса е, че докато сертификата на неговото CA го няма в клиентския браузер/софтуер това само по-себе си не дава допълнителна сигурност.

Няма нищо в сигурността, което само по себе си да е "магически куршум". Добре известно е, че сигурността е процес, а не е нещо което се купува, пуска и забравя.

Ако някоя банка на публичния си уеб сайта за електронно банкиране ползва самоподписан от нея сертификат ти би ли ползвал това банкиране и достатъчно сигурно ли е то за нормален потребител?

Написа Георги Чорбаджийски (www) на 04-Feb-2008 03:34


Според мен бъркаш понятията публичен и частен, но не това е въпросът. Една банка може да ползва/издава собствено подписани сертификати на клиентите си, без това допълнително да застрашава сигурността на данните. Вече обясних и в КАКЪВ СЛУЧАЙ това е приемливо, не виждам смисъл да го правя отново, а ти просто повтаряш думите ми.

Написа SlamDunk на 04-Feb-2008 11:43


Явно няма да се разберем, защото говорим за различни неща. Никога не съм оспорвал, че банка може да си направи CA и да подписва какви си иска сертификати. Няма проблем и сертификата за web сървъра да си подпише.

Само че не е никак добра идея с подобен сертификат подписан от тях и не подписан от ИЗВЕСТНО на браузера им authority да "защитават" публичния си сайт.

Написа Георги Чорбаджийски (www) на 04-Feb-2008 11:54