C# Web API - аутентификация пользователей по клиентскому сертификату
Я должен аутентифицировать потребителя нашего REST API, аутентифицируя его сертификат клиента, и я немного запутался в том, как аутентифицировать клиента.
Достаточно ли хранить сертификат CA в моем локальном хранилище, отправить клиенту сертификат (отредактируйте: по электронной почте или с помощью другой формы, а не API) и попросите его прикрепить сертификат к каждому вызову API. Со своей стороны, я бы проверил цепочку, затем загрузил бы пользователя по серийному номеру (то есть сопоставил серийный номер с пользователем) и затем пошел бы оттуда?
Это абсолютно безопасно, или мне нужно добавить какую-то другую проверку, например, имя пользователя в CN и т. Д.?
Кроме того, будут ли какие-либо проблемы с безопасностью при использовании одного и того же сертификата для клиента для отправки на сервер и сервера для отправки на клиент?
1 ответ
Попробуйте этот замечательный пост об аутентификации клиента с сертификатами: Использование клиентских сертификатов в.NET, часть 8: работа с клиентскими сертификатами в OWIN/Katana