Web servisine erişmek için sertifikaya ihtiyacım var. Mağaza X509 Sertifika veritabanı
benim certs oluşturulan:X509Certificate2 clientCert = new X509Certificate2("cert.pfx", "password");
Şimdi o zaman X509Certificate2 olarak benim pfx dosyası yüklü
openssl genrsa 1024 > private.key
openssl req -new -x509 -nodes -sha1 -days 1100 -key private.key > public.cer
sonra
openssl pkcs12 -in public.cer -inkey private.key -export -out client.pfx
tarafından pfx sertifikası içine bu ikisini birleşti, isterim Aşağıdaki alanları içeren veri tabanına bir tablo oluşturmak gibi:
Daha sonra public.cer için aynı içeriğe ----- BEGIN CERTIFICATE ----- ve ----- END CERTIFICATE ----- ile birlikte private.key dosyasından kopyalayın. ve şifreyi ayarlayın. Şimdi, bu verileri DB'den okuyarak X509Certificate2'nin uygun bir örneğini nasıl edinebilirim? Başka bir deyişle, özel anahtar ve sertifikayı temel alarak koddan bir pfx dosyasını nasıl oluşturabilirim?
Ben daha doğrusu dener:
string connectionString; string query; string cert;
connectionString = ConfigurationManager.ConnectionStrings[0].ConnectionString;
query = "SELECT clientcert FROM settings_services WHERE ID = 1";
using (SqlConnection cn = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(query, cn);
cn.Open();
cert = (string)cmd.ExecuteScalar();
}
X509Certificate2 serverCert = new X509Certificate2(Encoding.UTF8.GetBytes(cert));
Bu kodu doğru ----- ve bitiş ----- başlayarak (x509 sertifikası sertifika dize yük SERTİFİKA BAŞLANGICI olacak --- --END SERTİFİKASI -----).
Benim özel anahtar (----- RSA ÖZEL KEY ---- vb ... BEGIN)
Ben gerek RSA biçimindedir:
Şimdi özel anahtarı almak gerekir Web servisinde kimlik doğrulaması yapmak için bu sertifikayı kullanabilmek için onu yükleyin ve serverCert'e atayın.
Bunu nasıl yapacağınıza dair herhangi bir öneriniz var mı?
buradan bulacaksınız bu sorunun cevabı. http://www.codeproject.com/KB/security/CertificatesToDBandBack.aspx Saygılar –
İlgili: https://stackoverflow.com/questions/893757 – explunit