Снова засада с 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] [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] [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): | 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
сорри, что-то действительно
сорри, что-то действительно погорячился ..
/
Основную последовательность действий провёл (но клиентский сертификат пока не импортировал).
Ошибка идентичная. Но я клиентский сертификат ещё не импортировал.
Ты уверен, что с клиентским сертификатом у тебя всё в порядке?
:wq
--
Live free or die
Импортировал сгенерённый по
Импортировал сгенерённый по МОЕЙ шпаргалке клиентский сертификат.
Как и ожидалось, всё заработало...
:wq
--
Live free or die
Anarchist
ок. Сейчас сгенерю по ТВОЕЙ шпаргалке.
И с каким результатом?
И с каким результатом? :)
Скорее сертификаты.
Можно было и не зажимать шифрование ключа, всё равно он временный...
Ты уверен, что на этом этапе (как при генерации сертификата сервера, так и при генерации клиентского сертификата) использовался правильный (сиречь свежесгенерённый)
ca.crt
?Мне почему-то казалось (и оно подтверждается практикой), что на этапе экспорта клиентской пары сертификат/ключ в ошибку природы (
.p12
) сертификат центра авторизации не нужен.:wq
--
Live free or die
Anarchist написал(а): И с
Это можно проверить ..
.
А что тут проверять?
Элементарный здравый смысл:
pfx
akap12
--- представление (контейнер) для пользовательского сертификата с пользовательским же ключом.Сертификат Центра Авторизации здесь никаким боком не сдался.
:wq
--
Live free or die
felix_s
Сгенерил по твоей шпаргалке, с одним исключением -- использовал локальный самодельный 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 написал(а): Сгенерил
У тебя доступ с сторогой проверкой клиентского сертификата к сайту целиком (см. замечание тов. 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 написал(а): Обновил
в этом и косяк, сам боролся, вот решение:
Задача:
обеспечить проверку сертификатов только в некоторых областях сайта
Дано:
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 написал(а): в этом и
Существенное уточнение.
Я исходил из предположения, что необходима строгая авторизация по клиентскому сертификату при доступе к сайту в целом.
Описано не столько решение, сколько обход проблемы.
За решением ИМХО надо идти в багзиллу к Индейцу (да и прочие web-сервера неплохо бы проверить).
:wq
--
Live free or die
Все, исчерпал ..
Все. Перепробовал предыдущие версии огнелиса, nss, xulrunner. Даже openssl бету поставил. Пофигу.
Ощущение что таки это грабли, но не могу понять где они лежат. Огнелис не подключается вообще к серверам с самоподписанным сертификатом. В частности к вебмани.
Предложенные варианты обхода проблемы не работают.
.
???
Вьеб-мани же используют авторизацию по клиентскому сертификату.
Они что? Им же заверяют и клиентские???
:wq
--
Live free or die
не знаю чем заверяют, но
не знаю чем заверяют, но огнелис утверждает что верификация сертификата не удалась по неизвестным причинам
Таже самая проблема! Никак не
Таже самая проблема! Никак не могу к вебмани со своего компа добраться (opera никак не катит). Что только уже не пересобирал... С чистого профиля тоже не заходит... Конфиги может какие кикнулись.
nss
помогает откат dev-libs/nss
с 3.12.5 на 3.12.3-r1 и соответственно пересборка того что от них зависит.
в чём трабл не разбирался, может кто расскажет? или это в багзилу надо постить?
samyvolosaty
Однозначно пошариться по багзилле.
При обнаружении --- подписаться :)
В случае необнаружения --- отписаться самому.
: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 - помогает.
/
А в багзилле на 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. Зато, в конце концов написал скрипт, чтобы генерить клиентские (и вообще все сертификаты) в одно касание. Топорный, но время мне сэкономил :-)
/
Точнее --- проблема локализовась в
/etc/apache2/httpd.conf
, а именно --- в коллизии между директивами умолчательного и самописного конфига SSL vhost'а.Есть мнение, что этот скрипт не решает проблемы задания правильных параметров генерируемях сертификатов.
Сертификаты серверов генерятся не то, чтобы часто. Но нужно отслеживать их срок действия.
Отсюда вывод: bash-скрипт скорее всего недостаточен :)
:wq
--
Live free or die
Anarchist написал(а): Точнее
ну не факт ... директивы те же .. пути к сертификатам сменил. А умолчательный так же грузится .. Но я еще поэкспериментирую. О результатх должу :-))
Да, недостаточен. Но время экономит. :-)) А для управлениями сертификатами свой велосипед делаю :-))