у нас есть код C# для загрузки сертификатов x509 из хранилища ключей.
Этот фрагмент кода работал в наших средах разработки без каких-либо проблем. Код здесь
var signingCertificate = new X509Certificate2(buffer, certificatePassword, X509KeyStorageFlags.Exportable);
Теперь тот же фрагмент кода при развертывании в нашей промежуточной среде завершается с ошибкой ниже.
Мы проверили версию aks и базовую версию Windows. . Оба идентичны.
Мы проверили yaml развертывания. Никаких изменений здесь тоже нет.
Мы смогли изменить параметры X509KeyStorageFlags и заставить его работать. Но хотелось бы понять, как и почему один и тот же код работает в более низком окружении, а не в нашем промежуточном развертывании.
Есть какие-нибудь рекомендации по решению этой странной проблемы?
The system cannot find the file specified.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Utils.LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags, Boolean passwordProvided)
at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password, X509KeyStorageFlags keyStorageFlags)
Подробнее здесь: https://stackoverflow.com/questions/787 ... luster-sam