Какую часть сертификата x509 я должен хранить в базе данных, чтобы найти пользователя?
У меня есть веб-приложение, которое использует Forms Auth против пользовательского хранилища. Мы хотим расширить нашу сущность Users, чтобы мы могли настроить клиентский сертификат для использования вместо имени пользователя / пароля.
Я успешно настроил IIS для приема клиентских сертификатов и могу проверить сертификат клиента в моём модуле безопасности AuthorizeRequest
событие и подтвердить его. Последний шаг - возможность связать предоставленный клиентский сертификат с пользователем. В целях тестирования я в настоящее время записываю имя субъекта сертификата в свою таблицу "Пользователи" и таким образом ищу пользователя.
Конечно, это не подходит для производства. Что я должен хранить в своей таблице Users из сертификата клиента, чтобы я мог найти и войти в систему пользователя?
1 ответ
Вы должны использовать отпечаток сертификата в качестве ключа для хранения или поиска сертификата или для поиска пользователя, которому выдан сертификат. Более подробная информация здесь: http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.thumbprint.aspx