X509Certificate'ım bir veritabanında saklıyorum (byte[]
içinde), böylece uygulamam sertifika alabilir ve JWT'leri imzalamak için kullanabilir.X509Certificate2'nin PrivateKey In Azure'ına erişemiyorum
x509Certificate, makinemde oluşturduğum bir .pfx dosyasını aktardı, ancak şimdi bir veritabanında bir bayt dizisi olarak duruyor.
Uygulamam, çalıştırdığımda yerel olarak gayet iyi çalışıyor. Uygulama, X509Certificate2'nin bir örneğini doğru şekilde oluşturabilir ve gereksinimlerim için kullanabilir, ancak azurewebsites web uygulamasında kullanmayı denediğimde sorun ortaya çıkar.
Temelde ben belgelerimiz PrivateKey örnek değişken erişemez, bir istisna
System.Security.Cryptography.CryptographicException: Keyset does not exist
olsun Ve ben ASPNET 5 rc1 kullanıyorum bu
var cert = new X509Certificate2(myCertInBytes, myCertPass,
X509KeyStorageFlags.PersistKeySet |
X509KeyStorageFlags.MachineKeySet |
X509KeyStorageFlags.Exportable);
sertifikayı-başlatmasını yeniden am -update1. Bunu farklı bir makinede çalıştırmayı denedim ve gayet iyi çalışıyor, Azure'a yayınladığımda sadece bu sorunu yaşıyorum. Ve başka bir şey eklemek için, Bu uygulama, DNX sürüm beta7
kullanarak çalışan aynı projeyi çalıştırırken çalışıyordu.
Veritabanınızdaki sertifikanın özel anahtar kümesinin içerdiğinden emin misiniz? Bu bir şans değil, kamu yararı değil mi? –
@ZainRizvi kesinlikle dahil, ben yerel anahtar yerinde yerinde çalıştırırsanız, (X509 Cert Azure DB üzerinde) özel anahtar alabilirsiniz. Ancak, bunu Azure'a dağıttığımda alınamaz. – Lutando