ClientCertificate в консоли

Olya A
Дата: 28.05.2008 08:55:08
Здравствуйте, у меня на сайте стоит индентификация через usb ключи, серйник получаю следующим образом
@SerialKey = Request.ClientCertificate.SerialNumber.Replace('-', ' ').ToString();
Дла администратора нжуно сделать консоль, для редактирования данных, вход нужно опять же через usb ключ, кто нибудь знает как получить сейриный номер usb ключа в консоли?
Заранее большое спасибо
Nisus
Дата: 28.05.2008 22:29:11
к сожалению под рукой нет сейчас eToken-а чтобы проверить, но есть мнение, что надо пробежаться по коллекции типа
new System.Security.Cryptography.X509Certificates.X509Store(
System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser)
.Certificates
поскольку IssuerName и, видимо, еще какие-то поля известны, я думаю, что найти нужный не составит труда.
Nisus
Дата: 28.05.2008 22:37:19
можно попробовать как-то так
X509Store storeLocalMachine;
storeLocalMachine = new X509Store(StoreLocation.CurrentUser);
storeLocalMachine.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certColl = storeLocalMachine
.Certificates.Find(X509FindType.FindByIssuerName
,ISSUERNAME
,false);
Nisus
Дата: 28.05.2008 22:43:03
до кучи есть чудная демонстрашка с исходниками - http://wcf.netfx3.com/files/folders/authorization/entry11442.aspx
Olya A
Дата: 29.05.2008 13:15:56
спасибо всем, пример гораздо облегчает задачу
Olya A
Дата: 04.06.2008 13:14:00
с примером разобаралсь в случае i-key все работет отлично, а вот ru-token не видит :(
как получить serialkey в этом случае?
Olya A
Дата: 05.06.2008 07:00:39
люди, подкскажите пожалуйста!!!
Nisus
Дата: 05.06.2008 10:36:17
честно говоря едва ли кто-то сможет помочь тут, по идее изготовитель токена предоставляет и провайдер для его использования, попробуйте покопать в этом направлении. Ну то есть видимо придется к нему обращаться не как к стандартному хранилищу, а как-то иначе. Я правильно понял, что с токена одного производителя сертификаты видны в системе, а с токена от другой производителя - нет?