Thanks for the answer Ribeyed!
Since you pointed this API, I've read about it and i think it seems to work for a lower level solution... Maybe there is a solution that uses this API to deliver more abstract functions, the ones that I need... (sorry for the bad english )
Let me explain better..
I'm using this code inside a console application to read my digital certificate (smart card)
public static X509Certificate2 GetCertificate()
X509Store st = new X509Store(StoreName.My, StoreLocation.LocalMachine);
X509Certificate2Collection col = st.Certificates;
X509Certificate2 card = null;
X509Certificate2Collection sel = X509Certificate2UI.SelectFromCollection(col, "Certificates", "Select one to sign", X509SelectionFlag.SingleSelection);
if (sel.Count > 0)
X509Certificate2Enumerator en = sel.GetEnumerator();
card = en.Current;
This code works fine in the case of console applications... But what I need is to use it inside a .NET Web Application, what means that this code should ask for the digital certificate of the client, and after some googling, I got the conclusion that this library doesn´t apply to such scenario (client server architecture)...
If I execute this code I get a exception thrown by the method X509Certificate2UI.SelectFromCollection. (session is not interactive)
So, I found this similar web site (the one from the link above) which ask for a digital certificate, exactly the way I wan't (it seems to look at the certificate store of Windows)... Then I thought maybe someone knows the technology applyed there...
Thanx so much!
I can't understand the site but I think I get what your looking for. I don't know of out of the box solution but then I've not googled it. I asume your planning to build it yourself then?
Not sure what type of device your cipher toekn is but bellow is a link to integrating a smart card to your program.
I guess they encrypt a file on your device when you register, then decrypt and read that file to validate you when you click the image.