Снова засада с SSL! Help! [SOLVED]

Обновил апач и openssl.

теперь
apache-2.2.14-r1
openssl-0.9.8l-r2

Заново сгенерил все сертификаты, в т.ч. и клиентский. И все .. При попытке зайти на тестовый сайт любой браузер выдает ошибку

При соединении с myserver произошла ошибка.
SSL-узлу не удалось договориться о приемлемом наборе параметров безопасности.
(Код ошибки: ssl_error_handshake_failure_alert)

За тридня перелопатил гугл, нашел:
1. упоминание об опции SSLOptions +OptRenegotiate (она установлена)
2. информацию о патче openssl закрывающем какую-то дыру при авторизации через клиентский сертификат.
3. и информацию о том, что openssl теперь считает алгоритм подписи MD5 ненадежным.

Использовал алгоритмы sha - sha512 - бесполезно.

Пересобирал openssl и apache с разными USE -- тоже. Попытался откатиться -- предыдущих версий ни того, ни другого в дереве портежей нет.

Что делать?! :-(((

P.S. до обновления все работало как часики. Конфиги не менял.

P.P.S.

myserver.conf -- конфиг виртуального хоста


ServerName myserver
DocumentRoot /var/www/myserver
DirectoryIndex index.html
ScriptAlias /cgi-bin/ /var/www/myserver/cgi-bin/
CustomLog /var/log/myserver/access.log common
ErrorLog /var/log/myserver/error.log
ErrorDocument 403 http://myserver
LimitRequestBody 0
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:+SSLv3:+EXP:+eNULL
SSLCACertificateFile /var/www/myserver/ssl/ca.crt
SSLCertificateFile /var/www/myserver/ssl/myserver.crt
SSLCertificateKeyFile /var/www/felixs/ssl/myserver.key
SSLProtocol +SSLv3 +TLSv1
SSLCACertificateFile /var/www/myserver/ssl/ca.crt
SSLOptions +StdEnvVars +ExportCertData

AllowOverride All
Deny from all
Allow from 192.168.0.1
SSLVerifyClient require
SSLVerifyDepth 1
SSLOptions +OptRenegotiate


Options +ExecCGI

Я правильно понимаю, что вам

Я правильно понимаю, что вам нужна авторизация по сертификатам ? или вам просто https нужен ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

да. Именно авторизация по

да. Именно авторизация по сертификатам. Просто https работает

Сертификаты как генерил

Сертификаты как генерил ([url=http://ru.gentoo-wiki.com/wiki/Шпаргалка_по_OpenSSL]немного самопеара[/url])? Про соответствие имени сервера в сертификате прописанному в DNS точно не забул?
Браузер какой?
Логирование настроено? В лог что пишет?

ЗЫ: Заходи в джаббер, расскажу.

:wq
--
Live free or die

если кратко -- то генерил вот

если кратко -- то генерил вот по такой схеме
http://www.opennet.ru/base/dev/apache_mod_ssl.txt.html

просто у себя скриптики написал, чтобы все параметры были свои и все. До обновления apache и openssl все работало без проблем.

Вот что в логах
#cat error.log

[Mon Feb 01 13:57:12 2010] [info] [client 192.168.0.1] Connection to child 67 established (server myserver:443)
[Mon Feb 01 13:57:12 2010] [info] Seeding PRNG with 144 bytes of entropy
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1875): OpenSSL: Handshake: start
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: before/accept initialization
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 11/11 bytes from BIO#158a5d0 [mem: 157be20] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 16 03 01 00 a1 01 00 00-9d 03 01 ........... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 155/155 bytes from BIO#158a5d0 [mem: 157be2b] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 4b 66 89 58 01 fe 3f 69-fb 14 c6 97 50 d9 e9 c4 Kf.X..?i....P... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0010: 76 c6 ff c1 00 2a 07 b1-0f 13 6e 1f 8f 07 73 3a v....*....n...s: |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0020: 00 00 46 c0 0a c0 14 00-88 00 87 00 39 00 38 c0 ..F.........9.8. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0030: 0f c0 05 00 84 00 35 c0-07 c0 09 c0 11 c0 13 00 ......5......... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0040: 45 00 44 00 33 00 32 c0-0c c0 0e c0 02 c0 04 00 E.D.3.2......... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0050: 96 00 41 00 04 00 05 00-2f c0 08 c0 12 00 16 00 ..A...../....... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0060: 13 c0 0d c0 03 fe ff 00-0a 01 00 00 2e 00 00 00 ................ |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0070: 14 00 12 00 00 0f 73 34-2e 74 72 69 64 61 6e 69 ......s4.tridani |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0080: 78 2e 63 6f 6d 00 0a 00-08 00 06 00 17 00 18 00 x.com........... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0090: 19 00 0b 00 02 01 00 00-23 ........# |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1834): | 0155 -
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1951): [client 192.168.0.1] SSL virtual host for servername myserver found
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 read client hello A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write server hello A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write certificate A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1263): [client 192.168.0.1] handing out temporary 1024 bit DH key
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write key exchange A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write server done A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 flush data
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 5/5 bytes from BIO#158a5d0 [mem: 157be20] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 16 03 01 00 86 ..... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 134/134 bytes from BIO#158a5d0 [mem: 157be25] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 10 00 00 82 00 80 a5 a7-e2 76 85 6d 61 f1 ad 60 .........v.ma..` |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0010: 68 8f 54 9d f8 c4 8e 91-33 14 fa d6 e1 9a f6 7a h.T.....3......z |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0020: 17 5c 92 bf 17 94 c8 0d-e9 3e 49 33 d7 ef 5d e4 .\\.......>I3..]. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0030: ab 35 3b 3d 23 64 8c c2-29 c8 4e c4 5a 51 aa 50 .5;=#d..).N.ZQ.P |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0040: 0f 6f 0a f4 70 aa 69 4d-5e ff f8 ad 1d 73 54 b8 .o..p.iM^....sT. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0050: 03 66 77 c0 a1 cf 18 90-0a 66 c1 41 11 10 32 4d .fw......f.A..2M |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0060: 43 cd 93 af c4 00 92 d3-89 b6 da 70 da b4 cf dd C..........p.... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0070: 2a 7b ff ac 68 88 43 13-47 13 49 92 31 ce 36 41 *{..h.C.G.I.1.6A |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0080: 75 75 95 5a df c9 uu.Z.. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 read client key exchange A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 5/5 bytes from BIO#158a5d0 [mem: 157be20] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 14 03 01 00 01 ..... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 1/1 bytes from BIO#158a5d0 [mem: 157be25] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 01 . |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 5/5 bytes from BIO#158a5d0 [mem: 157be20] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 16 03 01 00 30 ....0 |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 48/48 bytes from BIO#158a5d0 [mem: 157be25] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: eb 5a b9 ed e3 67 4e a6-ce b3 07 35 91 54 33 1d .Z...gN....5.T3. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0010: 90 ba 9e 51 64 de 20 a0-9f a9 a4 a4 9b 9d 6b 49 ...Qd. .......kI |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0020: 36 ad 38 ca e6 f2 2e 83-28 34 2a 7b 7f d5 3a cf 6.8.....(4*{..:. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 read finished A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write session ticket A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write change cipher spec A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 write finished A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: SSLv3 flush data
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1879): OpenSSL: Handshake: done
[Mon Feb 01 13:57:12 2010] [info] Connection: Client IP: 192.168.0.1, Protocol: TLSv1, Cipher: DHE-RSA-CAMELLIA256-SHA (256/256 bits)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 5/5 bytes from BIO#158a5d0 [mem: 157be20] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: 17 03 01 01 a0 ..... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1858): OpenSSL: read 416/416 bytes from BIO#158a5d0 [mem: 157be25] (BIO dump follows)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1791): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0000: b3 b4 77 98 a8 5f 4d 61-c2 ca 15 bb c8 70 a3 76 ..w.._Ma.....p.v |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0010: b9 2e 29 77 8a ec a6 e4-e8 af ff 52 35 0f 48 b9 ..)w.......R5.H. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0020: ff af e4 ba 2c f7 00 68-20 ee 3f 8e 4e 14 90 c0 ....,..h .?.N... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0030: 91 a5 cd be b7 b5 ce b8-36 2a 78 34 88 89 6f 74 ........6*x4..ot |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0040: e4 6b 5e 86 a7 5a 89 28-6e aa 8f 98 43 ff 3a a9 .k^..Z.(n...C.:. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0050: 61 51 4b 51 4f 79 88 f1-31 cb cb d5 2d 8e 11 5b aQKQOy..1...-..[ |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0060: 79 16 93 ad b5 60 66 ab-53 dd 4a ba f4 70 a3 e2 y....`f.S.J..p.. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0070: f6 b4 30 57 0d c8 71 db-79 bf ce a0 e9 cb 05 5a ..0W..q.y......Z |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0080: c8 7b 3b e2 e9 1c 77 fa-18 50 c8 1b 98 3f 35 dc .{;...w..P...?5. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0090: 7a d9 1a aa fa dd d5 f9-6a 87 35 0c 47 c6 f2 e6 z.......j.5.G... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00a0: 28 63 09 45 20 f4 2d 80-40 7e 54 fb 70 b9 f4 2a (c.E .-.@~T.p..* |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00b0: f8 d1 ce 36 a2 7e 1f 14-77 7e 7b 22 fe f1 c8 58 ...6.~..w~{"...X |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00c0: 58 ad 2c 1e 1c 68 80 81-d7 7b 82 d8 96 fa a7 0b X.,..h...{...... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00d0: f5 f4 3d 5e 00 5f d2 d7-b9 4e 75 70 30 66 99 ef ..=^._...Nup0f.. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00e0: 0b b4 88 6f bd 16 b3 56-be 74 2e c1 b5 15 94 eb ...o...V.t...... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 00f0: 0e c7 e7 3c 50 ff e3 55-fe a9 14 9a 1c ed 97 85 ... [Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0100: e7 bc 05 90 69 0a 9e 45-fd 48 c3 8e 50 f6 c2 fc ....i..E.H..P... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0110: 6b 3b 1c f4 6e 2e 7d 63-d6 28 ff a2 64 3a 34 5a k;..n.}c.(..d:4Z |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0120: da 23 c4 21 64 92 b3 8c-60 0f 4c c7 5b cc 9a 67 .#.!d...`.L.[..g |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0130: ce 08 1b 1c ce 50 b8 0c-5b fb 2f 48 6d 8b bc d4 .....P..[./Hm... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0140: a2 f6 0b 40 9f f7 01 7a-23 8f b2 fd 19 76 5f dc ...@...z#....v_. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0150: 84 1c 9f b8 e1 93 15 8a-08 09 18 1b c3 52 18 5d .............R.] |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0160: b8 97 6e d4 8b 2c f4 6a-88 52 c6 21 23 12 fc da ..n..,.j.R.!#... |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0170: 6c 4a 1f 01 8f 8f f0 fb-15 15 0f 01 7c 89 4b fd lJ..........|.K. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0180: d2 15 66 da 44 3b 44 20-b6 57 8a e0 e7 b6 9c 26 ..f.D;D .W.....& |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1830): | 0190: a3 56 db 6f 62 cf 6e 77-83 db bb 77 42 66 87 d1 .V.ob.nw...wBf.. |
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_io.c(1836): +-------------------------------------------------------------------------+
[Mon Feb 01 13:57:12 2010] [info] Initial (No.1) HTTPS request received for child 67 (server myserver:443)
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(487): [client 192.168.0.1] Changed client verification type will force renegotiation
[Mon Feb 01 13:57:12 2010] [info] [client 192.168.0.1] Requesting connection re-negotiation
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(724): [client 192.168.0.1] Performing full renegotiation: complete handshake protocol
[Mon Feb 01 13:57:12 2010] [info] [client 192.168.0.1] Awaiting re-negotiation handshake
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1875): OpenSSL: Handshake: start
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1883): OpenSSL: Loop: before accept initialization
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1893): OpenSSL: Write: SSLv3 read client hello A
[Mon Feb 01 13:57:12 2010] [debug] ssl_engine_kernel.c(1912): OpenSSL: Exit: error in SSLv3 read client hello A
[Mon Feb 01 13:57:12 2010] [error] [client 192.168.0.1] Re-negotiation handshake failed: Not accepted by client!?

#cat access.log
[01/Feb/2010:13:59:42 +0600] 192.168.0.1 on TLSv1 DHE-RSA-CAMELLIA256-SHA 256 NONE "GET / HTTP/1.1" -

Вот, простой набор операций #

Вот, простой набор операций
# создаем собственный самоподписанный сертификат. В качестве имени необходимо указывать домен второго уровня
openssl req -new -newkey rsa:2048 -x509 -days 3650 -nodes -out ca.crt -keyout ca.key

# создаем сертификат сервера. В качестве имени указывается полное доменное имя сервера
openssl req -new -newkey rsa:2048 -nodes -keyout myserver.mydomen.key -out myserver.mydomen.csr

# подписываем сертификат сервера собственным CA
openssl ca -config ca.config -in myserver.mydomen.csr -out myserver.mydomen.crt -batch

# Далее делаем клиентские ключи
#
# Создаем клиентский ключ
openssl req -new -newkey rsa:2048 -nodes -keyout db/certs/user.key -out db/certs/user.csr

# Подписываем ключом сервера
openssl ca -config ca.config -in db/certs/user.csr -out db/certs/user.crt -batch

#делаем сертификат для браузера
openssl pkcs12 -export -in db/certs/user.crt -inkey db/certs/user.key -certfile ca.crt -out user.p12 -passout pass:password

debug loglevel был явно

debug loglevel был явно лишним.
+ http://www.gentoo.ru/node/14464

После обеда проверю на своей рабочей станции.

:wq
--
Live free or die

сорри, что-то действительно

сорри, что-то действительно погорячился ..

/

felix_s написал(а):
При соединении с myserver произошла ошибка.
SSL-узлу не удалось договориться о приемлемом наборе параметров безопасности.
(Код ошибки: ssl_error_handshake_failure_alert)

Основную последовательность действий провёл (но клиентский сертификат пока не импортировал).

Ошибка идентичная. Но я клиентский сертификат ещё не импортировал.
Ты уверен, что с клиентским сертификатом у тебя всё в порядке?

:wq
--
Live free or die

Импортировал сгенерённый по

Импортировал сгенерённый по МОЕЙ шпаргалке клиентский сертификат.
Как и ожидалось, всё заработало...

:wq
--
Live free or die

Anarchist

Anarchist написал(а):
Импортировал сгенерённый по МОЕЙ шпаргалке клиентский сертификат.
Как и ожидалось, всё заработало...

ок. Сейчас сгенерю по ТВОЕЙ шпаргалке.

И с каким результатом?

И с каким результатом? :)

Цитата:
# Далее делаем клиентские ключи

Скорее сертификаты.

Цитата:
# Создаем клиентский ключ
openssl req -new -newkey rsa:2048 -nodes -keyout db/certs/user.key -out db/certs/user.csr

Можно было и не зажимать шифрование ключа, всё равно он временный...

Цитата:
# Подписываем ключом сервера
openssl ca -config ca.config -in db/certs/user.csr -out db/certs/user.crt -batch

Ты уверен, что на этом этапе (как при генерации сертификата сервера, так и при генерации клиентского сертификата) использовался правильный (сиречь свежесгенерённый) ca.crt?

Цитата:
#делаем сертификат для браузера
openssl pkcs12 -export -in db/certs/user.crt -inkey db/certs/user.key -certfile ca.crt -out user.p12 -passout pass:password

Мне почему-то казалось (и оно подтверждается практикой), что на этапе экспорта клиентской пары сертификат/ключ в ошибку природы (.p12) сертификат центра авторизации не нужен.

:wq
--
Live free or die

Anarchist написал(а): И с

Anarchist написал(а):
И с каким результатом? :)

Пока с нулевым .. Изучаю шпаргалку[и],маны и сравниваю все между собой.

Цитата:
# Подписываем ключом сервера
openssl ca -config ca.config -in db/certs/user.csr -out db/certs/user.crt -batch

Ты уверен, что на этом этапе (как при генерации сертификата сервера, так и при генерации клиентского сертификата) использовался правильный (сиречь свежесгенерённый) ca.crt?

Уверен. Он лежит в текущей директории. Если его нет -- openssl ругается.

Цитата:
#делаем сертификат для браузера
openssl pkcs12 -export -in db/certs/user.crt -inkey db/certs/user.key -certfile ca.crt -out user.p12 -passout pass:password

Мне почему-то казалось (и оно подтверждается практикой), что на этапе экспорта клиентской пары сертификат/ключ в ошибку природы (.p12) сертификат центра авторизации не нужен.

Это можно проверить ..

.

felix_s написал(а):
Это можно проверить ..

А что тут проверять?
Элементарный здравый смысл: pfx aka p12 --- представление (контейнер) для пользовательского сертификата с пользовательским же ключом.
Сертификат Центра Авторизации здесь никаким боком не сдался.

:wq
--
Live free or die

felix_s

felix_s написал(а):
Anarchist написал(а):
Импортировал сгенерённый по МОЕЙ шпаргалке клиентский сертификат.
Как и ожидалось, всё заработало...

ок. Сейчас сгенерю по ТВОЕЙ шпаргалке.

Сгенерил по твоей шпаргалке, с одним исключением -- использовал локальный самодельный ca.config. Тот же самый результат. :-((( Не хочет пущать.

# Файл ca.config
[ca]
default_ca = CA_CLIENT

[CA_CLIENT]
dir = ./db
certs = $dir/certs
new_certs_dir = $dir/newcerts
database = $dir/index.txt
serial = $dir/serial
certificate = ./ca.crt
private_key = ./ca.key
default_days = 365
default_crl_days = 7
default_md = md5
policy = policy_anything

[policy_anything]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

felix_s написал(а): Сгенерил

felix_s написал(а):
Сгенерил по твоей шпаргалке, с одним исключением -- использовал локальный самодельный ca.config. Тот же самый результат. :-((( Не хочет пущать.

У тебя доступ с сторогой проверкой клиентского сертификата к сайту целиком (см. замечание тов. ma5ter)?
Если да, то непонятно.
При точном выполнении моих инструкций (на в остальном умолчательной структуре конфигов) работает.

:wq
--
Live free or die

А версии apache и openssl?

А версии apache и openssl?

.

[I] www-servers/apache-2.2.14-r1
[I] dev-libs/openssl-0.9.8l-r2

Проблема (если она ещё наблюдается), скорее в твоих конфигах.
Говорю же: заходи лучше в джаббер...

:wq
--
Live free or die

да. Я уже тоже так думаю ..

да. Я уже тоже так думаю .. сегодня вечером (+6) или завтра выйду в джаббер ..

клиентский сертификат делаю

клиентский сертификат делаю точно так же как и год и полгода назад, по одной и той же схеме ..
но вот все ли в порядке с ним сейчас -- с уверенностью уже сказать немогу, тем более, что вот тут нашел описание подобной проблемы
http://serverfault.com/questions/18789/sslerrorhandshakefailurealert-with-commercial-ca-based-client-certificate

felix_s написал(а): Обновил

felix_s написал(а):
Обновил апач и openssl.

в этом и косяк, сам боролся, вот решение:

Задача:
обеспечить проверку сертификатов только в некоторых областях сайта

Дано:
vhost под апачем с ssl
прописаны СА сертификат и серверный сертификат/ключ
SSLCACertificateFile /etc/.../CA.crt
SSLCertificateFile /etc/.../server.crt
SSLCertificateKeyFile /etc/.../server.key
создан, подписан СА и упакован в p12 пользовательский сертификат
СА и пользовательский сертификаты и импортированы в FF

Косяк:
в связи с установкой патча ssl связанным с уязвимостью session renegotiation пропадает
возможность ставить SSLVerifyClient required на отдельные директории/файлы

Решение:
прописать SSLVerifyClient optional в контексте всего вхоста и на уровне переменных среды отлавливать
SSL_CLIENT_* переменные, в частности SSL_CLIENT_VERIFY == SUCCESS, установив ессно их экспорт:
SSLOptions +StdEnvVars

В итоге, например, для PHP будет выглядеть так: $_SERVER["SSL_CLIENT_S_DN_CN"] == ma5ter

ma5ter написал(а): в этом и

ma5ter написал(а):
в этом и косяк, сам боролся, вот решение:

Задача:
обеспечить проверку сертификатов только в некоторых областях сайта

Существенное уточнение.
Я исходил из предположения, что необходима строгая авторизация по клиентскому сертификату при доступе к сайту в целом.

Описано не столько решение, сколько обход проблемы.
За решением ИМХО надо идти в багзиллу к Индейцу (да и прочие web-сервера неплохо бы проверить).

:wq
--
Live free or die

Все, исчерпал ..

Все. Перепробовал предыдущие версии огнелиса, nss, xulrunner. Даже openssl бету поставил. Пофигу.

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

Предложенные варианты обхода проблемы не работают.

.

felix_s написал(а):
Ощущение что таки это грабли, но не могу понять где они лежат. Огнелис не подключается вообще к серверам с самоподписанным сертификатом. В частности к вебмани.

???
Вьеб-мани же используют авторизацию по клиентскому сертификату.
Они что? Им же заверяют и клиентские???

:wq
--
Live free or die

не знаю чем заверяют, но

не знаю чем заверяют, но огнелис утверждает что верификация сертификата не удалась по неизвестным причинам

Таже самая проблема! Никак не

Таже самая проблема! Никак не могу к вебмани со своего компа добраться (opera никак не катит). Что только уже не пересобирал... С чистого профиля тоже не заходит... Конфиги может какие кикнулись.

nss

помогает откат dev-libs/nss
с 3.12.5 на 3.12.3-r1 и соответственно пересборка того что от них зависит.

в чём трабл не разбирался, может кто расскажет? или это в багзилу надо постить?

samyvolosaty

samyvolosaty написал(а):
помогает откат dev-libs/nss
с 3.12.5 на 3.12.3-r1 и соответственно пересборка того что от них зависит.

в чём трабл не разбирался, может кто расскажет? или это в багзилу надо постить?

Однозначно пошариться по багзилле.
При обнаружении --- подписаться :)
В случае необнаружения --- отписаться самому.

:wq
--
Live free or die

нашел.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561918
dev-libs/nss-3.12.5 client certificate authentication broken

рекомендуют откат или установить переменную среды
NSS_SSL_ENABLE_RENEGOTIATION=1

проверил NSS_SSL_ENABLE_RENEGOTIATION - помогает.

/

samyvolosaty написал(а):
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561918
dev-libs/nss-3.12.5 client certificate authentication broken

рекомендуют откат или установить переменную среды
NSS_SSL_ENABLE_RENEGOTIATION=1

проверил NSS_SSL_ENABLE_RENEGOTIATION - помогает.

А в багзилле на gentoo.org тишина?
Я бы отписался и там...

:wq
--
Live free or die

Bugzilla Bug 304995

http://bugs.gentoo.org/show_bug.cgi?id=304995

с генту орг ссылка и есть на дебиан

Решил проблему .. [SOLVED]

После трех недель изучения манов, примеров, консультаций с Anarchist проблему решил ..

1. Заменил самописный кофигурационный файл виртуального сервера на стандартный, из /etc/apache2/vhosts/00_default_ssl_vhost.conf. Естестенно прописав нем свои сооответствующие параметры.

# cat 00_default_ssl_vhost.conf > myserver.conf

2. Нарыл в инете Van's Apache SSL/TLS mini-HOWTO и сделал, все как там велено.

И заработало!!! Причем заработало без SSLOptions +OptRenegotiate!!!!!!!!

P.S. Зато, в конце концов написал скрипт, чтобы генерить клиентские (и вообще все сертификаты) в одно касание. Топорный, но время мне сэкономил :-)

/

felix_s написал(а):
После трех недель изучения манов, примеров, консультаций с Anarchist проблему решил ..

1. Заменил самописный кофигурационный файл виртуального сервера на стандартный, из /etc/apache2/vhosts/00_default_ssl_vhost.conf. Естестенно прописав нем свои сооответствующие параметры.

Точнее --- проблема локализовась в /etc/apache2/httpd.conf, а именно --- в коллизии между директивами умолчательного и самописного конфига SSL vhost'а.

felix_s написал(а):
P.S. Зато, в конце концов написал скрипт, чтобы генерить клиентские (и вообще все сертификаты) в одно касание. Топорный, но время мне сэкономил :-)

Есть мнение, что этот скрипт не решает проблемы задания правильных параметров генерируемях сертификатов.
Сертификаты серверов генерятся не то, чтобы часто. Но нужно отслеживать их срок действия.
Отсюда вывод: bash-скрипт скорее всего недостаточен :)

:wq
--
Live free or die

Anarchist написал(а): Точнее

Anarchist написал(а):
Точнее --- проблема локализовась в /etc/apache2/httpd.conf, а именно --- в коллизии между директивами умолчательного и самописного конфига SSL vhost'а.

ну не факт ... директивы те же .. пути к сертификатам сменил. А умолчательный так же грузится .. Но я еще поэкспериментирую. О результатх должу :-))

Anarchist написал(а):
Есть мнение, что этот скрипт не решает проблемы задания правильных параметров генерируемях сертификатов.
Сертификаты серверов генерятся не то, чтобы часто. Но нужно отслеживать их срок действия.
Отсюда вывод: bash-скрипт скорее всего недостаточен :)

Да, недостаточен. Но время экономит. :-)) А для управлениями сертификатами свой велосипед делаю :-))

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".