Я использую RSACryptoServiceProvider для обеспечения безопасности.Как использовать отпечаток пальца для обеспечения безопасности?
Я построил код, используя самоподписанный сертификат для тестирования. Пользователь не предоставил нам фактический отпечаток. Я ожидал получить сертификат вместо этого? Как использовать Thumbprint?
вот код:
/// Builds Authorization in using self signed certificate
/// </summary>
/// <returns></returns>
private string BuildAuthorization()
{
X509Certificate2 cert = GetCertificate();
RSACryptoServiceProvider provideEncryptor = (RSACryptoServiceProvider)cert.PublicKey.Key;
string authorizaionValue = string.Format("{0}:{1}:{2}", _userName,_password, _currentTime);
byte[] encryptedData = provideEncryptor.Encrypt(Encoding.UTF8.GetBytes(authorizaionValue), false);
string encryptedString = Convert.ToBase64String(encryptedData);
return encryptedString;
}
/// <summary>
/// creates a self signed certificate
/// </summary>
/// <returns></returns>
private X509Certificate2 GetCertificate()
{
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 cert = null;
string certName = ConfigurationManager.AppSettings["CertName"];
foreach (var c in store.Certificates)
{
if (c.Subject.Equals(certName, StringComparison.OrdinalIgnoreCase))
{
cert = c;
break;
}
}
store.Close();
return cert;
}
отпечаток при условии, что-то вроде:
87aa7f6 ******************** 9b2d95093a6
AnyOne имеет представление, что это значит? – grace
Я нашел решение, пожалуйста, проверьте http://stackoverflow.com/questions/11115511/how-to-find-certificate-by-its-thumbprint-in-c-sharp – Nazmul