Bir mini web sunucusunun SSL üzerinden içerik sunması için bir C# uygulamasında HttpListener sınıfını kullanmaya çalışıyorum. Bunu yapmak için httpcfg aracını kullanmam gerekiyor. Genel ve özel anahtar çiftimle bir .pfx dosyası var. Bu anahtar çiftini elle yerel makine deposuna mmc kullanarak alırsam her şey yolunda gider. Ancak, bu anahtar çiftini program aracılığıyla X509Store sınıfını kullanarak içe aktarırsam, mini web sunucuma bağlanamıyorum. Her iki yöntemde de sertifikanın LocalMachine'deki MY deposuna aktarıldığını unutmayın. Tuhaf olarak, sertifikayı programlı olarak aldığımda mmc olarak görüntüleyebiliyorum ve bunu görüntülediğimde, kullanıcı arabirimi bu sertifika için özel bir anahtarın da kullanılabildiğini gösteriyor.Sertifikaları programlı olarak özel anahtar ile içe aktarma
Biraz daha derine iniyorum, anahtar çiftini el ile aldığımda, C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
'da yeni bir dosya görebiliyorum, ancak programsal olarak içe aktardığımda bir tane görünmez. İlgili bir notta, el ile alınan bir sertifikayı sildiğimde, ilgili özel anahtar dosyasını daha önce belirtilen dizinden kaldırmaz.
Nihayetinde, sorum şu: Sertifikayu depoya programa eklediğimde, özel anahtarın nerede saklandığı ve neden HttpListener sınıfına (HttpApi) erişilemediği?
Not bu soru biraz ilgilidir ama permissioning bu yana tüm aynı Windows kullanıcısı olarak yapılıyor sorundur sanmıyorum: How to set read permission on the private key file of X.509 certificate from .NET
Lütfen cevabı – Developer
olarak işaretleyiniz Ne yazık ki bunu yapabilmem için 48 saat beklemek zorundayım. :( – Jason
"X509KeyStorageFlags.MachineKeySet & X509KeyStorageFlags.PersistKeySet" neden çalışmadığını anlamaya yaklaşık 30 dakika harcadım. Tabii ki, "X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet." Oldukça açık, sadece başka biri durumunda Ben aynı aptal şeyi dener. –