NFe.clsX509Certificate2Extension.IsA3 C# (CSharp) Method

IsA3() public static method

Retorna true se o certificado for do tipo A3.
public static IsA3 ( this x509cert ) : bool
x509cert this Certificado que deverá ser validado se é A3 ou não.
return bool
        public static bool IsA3(this X509Certificate2 x509cert)
        {
            if (x509cert == null) 
               return false;

            bool result = false;

            try
            {
                RSACryptoServiceProvider service = x509cert.PrivateKey as RSACryptoServiceProvider;

                if(service != null)
                {
                    if(service.CspKeyContainerInfo.Removable &&
                    service.CspKeyContainerInfo.HardwareDevice)
                        result = true;
                }
            }
            catch
            {
                //assume que é false
                result = false;
            }

            return result;
        }
    }
clsX509Certificate2Extension