C# Web API - аутентификация пользователей по клиентскому сертификату

Я должен аутентифицировать потребителя нашего REST API, аутентифицируя его сертификат клиента, и я немного запутался в том, как аутентифицировать клиента.

Достаточно ли хранить сертификат CA в моем локальном хранилище, отправить клиенту сертификат (отредактируйте: по электронной почте или с помощью другой формы, а не API) и попросите его прикрепить сертификат к каждому вызову API. Со своей стороны, я бы проверил цепочку, затем загрузил бы пользователя по серийному номеру (то есть сопоставил серийный номер с пользователем) и затем пошел бы оттуда?

Это абсолютно безопасно, или мне нужно добавить какую-то другую проверку, например, имя пользователя в CN и т. Д.?

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

1 ответ

Попробуйте этот замечательный пост об аутентификации клиента с сертификатами: Использование клиентских сертификатов в.NET, часть 8: работа с клиентскими сертификатами в OWIN/Katana

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