Решения для клиентских сертификатов веб-сервисов / авторизация лучших практик - PullRequest
5 голосов
/ 06 октября 2009

У меня есть простой веб-сервис, который имеет API, доступ к которому могут получить сторонние разработчики. API в основном следует принципам REST.

Меня интересуют решения для повышения безопасности API, требующие от разработчиков использования клиентских сертификатов. Есть ли у вас какие-либо решения с открытым исходным кодом или другие рекомендации по реализации, которые могли бы помочь в API на основе REST, использующих сертификаты уровня пользователя для аутентификации?

Ответы [ 2 ]

3 голосов
/ 26 октября 2009

Мой общий совет - отделить API от процедур аутентификации. Ваш веб-сервер должен обрабатывать взаимодействие для вас.

Решения для вашей стороны сценария клиент-сертификат зависят от вашей среды. Вы не опубликовали это здесь, но, похоже, целевой поиск в Google должен дать вам представление о том, что необходимо.

Поскольку вы предоставляете API другим сторонам, у вас есть некоторые соображения относительно поддержки среды для этих разработчиков. Вы хорошо справляетесь с базой REST, и большинство сред программирования будут взаимодействовать с ними довольно хорошо.

Поддержка клиентских сертификатов, вероятно, будет изменяться с точки зрения эффективности поддержки в средах, платформах и т. Д. Кроме того, теперь вы влияете на реализацию на стороне клиента, когда вам требуются сертификаты. Это почти наверняка поставит вас в положение, требующее от вас поддержки ваших клиентов и запуска их с вашим API. Это означает знакомство с другими языками, веб-серверами, фреймворками и т. Д.

0 голосов
/ 06 октября 2009

Библиотека Python HTTP поддерживает клиентские сертификаты , так же как и библиотека urllib, расположенная поверх нее.

...