public CertificateService(IConfiguration configuration) { _configuration = configuration; _certCheckerClient = CreateCertCheckerUniversal(); _kalkanCryptCom = new KalkanCryptCOM(); _kalkanCryptCom.Init(); }
private bool CertificateAuthentication(string certificate, out string error) { IKalkanCryptCOM _cryptCom = null; bool isSucccess = true; error = string.Empty; try { var xmlLogin = certificate; _cryptCom = new KalkanCryptCOM(); _cryptCom.Init(); string certificateBase64; _cryptCom.GetCertFromXML(xmlLogin, 0, out certificateBase64); if (!string.IsNullOrEmpty(certificateBase64)) { X509Certificate x509Cert = new X509Certificate(Convert.FromBase64String(certificateBase64)); //,model.Password, X509KeyStorageFlags.PersistKeySet); X509Certificate2 x509Cert2 = new X509Certificate2(x509Cert); bool isVerify = x509Cert2.Verify(); if (isVerify) { // [TODO] Make Didgital dignature Verify // var verifyXml = VerifyXml(x509Cert2, xmlLogin); isSucccess = true; } else { isSucccess = false; error = "Ошибка аутентификации по сертификату!"; } isSucccess = true; } } catch (Exception e) { error = string.Format("Ошибка аутентификации по сертификату: {0}", e); isSucccess = false; } return(isSucccess); }