Как вы можете заставить x509 работать с Trac?

Привет! Я пытался найти способ получить сертификаты x509 для аутентификации для Trac, но я не смог найти никаких плагинов для TracHacks или учебных пособий по этому вопросу.

Самое близкое, что я видел до сих пор, это сообщение в группах Google.

http://groups.google.com/group/trac-users/browse_thread/thread/0ea6cb82058eb9a9?pli=1

Кто-нибудь знает, где я могу найти соответствующую информацию или знаю, как я могу это сделать?

Спасибо

1 ответ

Trac (vainilla) делегирует свою аутентификацию apache (или другому серверному программному обеспечению) и авторизацию trac. Поэтому лучший способ сделать то, что вы пытаетесь, это выдать несколько сертификатов серверу и пользователям и настроить apache для его использования с помощью FakeBasicAuth директива apache mod_ssl.

и настройте VirtualHost:

<VirtualHost 127.0.0.1:443>
    SSLEngine on
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM

    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCACertificateFile /path/to/ca.crt
    SSLCARevocationPath /path/to/crl

    SetEnvIf User-Agent ".*MSIE.*" \
           nokeepalive ssl-unclean-shutdown \
           downgrade-1.0 force-response-1.0

    SSLVerifyClient optional
    SSLVerifyDepth 1

    <Directory /path/to/project/>
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnvParentDir /path/to/
        PythonOption TracUriRoot /
        SetEnv PYTHON_EGG_CACHE /var/cache/python-eggs
        SSLOptions +StdEnvVars
        SSLOptions +FakeBasicAuth
        AuthName trac
        AuthType Basic
        AuthUserFile /path/to/passwd
        Require valid-user
    </Directory>
</VirtualHost>

Тогда вам понадобится файл htpasswd, содержащий DN сертификата как пользователя и хеш xxj31ZMTZzkVA как пароль.

Вы можете поделиться Схемой аутентификации с Subversion по https, и тогда имена пользователей будут совпадать с коммиттерами

Там также проблема с именами пользователей. Я решил исправить патч самого кода, используя что-то похожее на этот патч

Я также использую почту пользователей как "CN", поэтому без настройки trac знает, куда отправлять письма с билетами.

Все это для trac 0.11 и 0.10. Я еще не обновил trac.

Другие вопросы по тегам