Здравствуйте,
Есть проект, на ASP.NET MVC (c#), в который нужно добавить регистрацию и авторизацию с помощью ЭЦП. Использую NCLayer.
Я почитал про PKI, посмотрел примеры в SDK, но у меня остался ряд вопросов:
1) В SDK, в папке "Keys And Serts", у большинства пользователей, имеются сертификаты двух типов, например:
1. AUTH_RSA256_ac13ae13f678ce59fb8cea3ddd0b974c8e597b24
2. GOSTKNCA_ea1ec86324cee37e9548e4ea6a834b5ce5fd15ab
Это один и тот же сертификат, только зашифрованный двумя разными типами? Если да, то почему у физ. и юр. лиц сертификат только один?
2) Насколько я понял, ключ с приставкой AUTH служит только для авторизации, но не способен подписывать документы. А ключ RSA должен использоваться для подписи/отправки запроса. Почему тогда в ключе, который под номером 1, в наименовании есть и AUTH и RSA? Он универсальный (подходит и для авторизации, и для подписи)?
3) Вопрос о реализации регистрации и входе на портал.
Я видел как это реализовано на сайте egov.kz: при регистрации пользователь вставляет сертификат ключа, затем появляются данные, которые в нём хранятся (ИИН, Email, Дата окончания действия сертификата, ФИО), вводится пароль и email для аккаунта.
При авторизации нужно лишь выбрать сертификат ключа.
Вопрос в следующем: как правильно реализовывать авторизацию? При регистрации сохранять данные из сертификата (например ИИН), а затем при входе на портал считывать данные из сертификата и сравнивать с тем, что было сохранено при регистрации?
Соответственно возникает вопрос, могу ли я сохранять ИИН, который получаю из сертификата при регистрации? безопасно ли при авторизации просто сравнивать ИИНы?
4) При получении данных из сертификата (даты окончания, ИИН, email, ФИО) нужен ли доступ к интернету? Обращается ли NCLayer к серверам НУЦ для получения данных из сертификата или самостоятельно расшифровывает сертификат?
5) Есть ли кардинальная разница в работе (безопасность, скорость) между NCLayer и KalkanCryptCOM? Имеют ли оба возможность реализовать регистрацию + вход на портал, а также подпись + расшифровку подписанных документов?
Заранее спасибо