Is it possible to develop a web page that reads digital certificates available in the browser with Python? For example using pyOpenSSL?
I explain further:
I’d like to develop a web page that prompts the user and asks him to choose one of the digital certificates available in his browser and then prints the public information contained in it (first name, last name, email, expiration date, ecc).
I know how to extract the information from a digital certificate that is present on the hard drive using the command line (openssl) or with a python script (pyopenssl), but how to do the same for a web application? Does the user need to upload the public key of his digital certificate?
I suppose it has to be done with Apache?
Any suggestion is much appreciated! Thanks.
EDIT:
I would like to find more info about how to make something like this in flash (if possible):
http://services.viafirma.com/viafirma/
While the browser itself has access to certain set of certificates (usually system certificate store + some certificate store, specific to browser), it won’t let the remote system access them easily.
One way to read certificates located on the client computer is create some helper object (ActiveX control, Java applet, flash applet) and embed them into the web page. Then this helper object can try to get access to user’s certificates. ActiveX control, being the native code (for Windows) can access system certificate storage (granted that it has necessary permissions configured in browser and on the client’s system). With Java applet or Flash applet you are limited to certificates in files (and even then security restrictions can apply).
Without knowing what you are going to do with the certificate it’s hard to say further, what can be done.