Я хочу использовать сертификаты (загруженные через портал, для развертывания облачных сервисов) в моем облачном сервисе webrole.Динамический доступ к сертификатам, загруженным на портал Azure из облачного сервиса
Я ожидал бы, что после загрузки сертификатов они будут применены к моим работающим веб-ролям, и затем я смогу найти сертификаты с помощью их большого пальца.
Я загружаю сертификат через портал, перейдя к моему облачному сервису, выбрав «Сертификаты», а затем загрузив .pfx и предоставив пароль.
Это код, я использую, чтобы попытаться получить сертификаты:
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 certificate = null;
foreach (X509Certificate2 cert in store.Certificates)
{
string certHash = cert.Thumbprint;
if (certHash.Equals(binding.SslThumbprint, StringComparison.OrdinalIgnoreCase))
{
certificate = cert;
break;
}
}
This works если зарегистрировать сертификаты в .csdef файла, но мне нужно, чтобы иметь возможность динамически загружать сертификаты. Изменения в файле .csdef требуют развертывания нового пакета - это не вариант.
На лазурных веб-сайтах существует такая же функция, что вы можете добавить параметр WEBSITE_LOAD_CERTIFICATES с подстановочным значком в настройку вашего приложения, а затем найти их по отпечатку пальца в коде. В основном я ищу аналогичную функцию в облачных сервисах.
Некоторое время, прошедшее с тех пор, как я играл с этим, если я правильно помню, нет возможности сделать это, не меняя пакет. Альтернативное решение - это ключ для хранения сертификатов и загрузки/инсталляции оттуда. –