5

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

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

ответ

3

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

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

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

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

0

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