I have 2 types of certificates on my machine, one A1 and the other is A3, when loading one of them into a X509Certificate2
object, how can I programmatically detect if it's a A1 or A3?
I understand that if the A3 certificate is not plugged in, the private key is not accessible. Take into account that both certificates are valid/installed and plugged in.
Edit
I just discovered that the types A1
and A3
are defined by a specific country legislation (Brazil), so let's me explain what's the difference:
ICP-Brasil allows 8 types of digital certificates, divided into 2 series (A and S).
The A series (A1, A2, A3 and 4) consists of digital signature certificates, used for Web identity verification, e-mail, virtual private networks (VPNs), and electronic documents with verification of the integrity of their Information.
The S series (S1, S2, S3 and S4) includes the certificates of confidentiality, which are used in the codification of documents, databases, messages and other confidential electronic information. The eight types are differentiated by use, security level and validity.
(Gisele Ribeiro, Source)
So, to update my question, I wish to detect if the certificate comes from a smart card with key generation capability.