У меня есть веб-приложение Azure с несколькими слотами для развертывания.Я хочу, чтобы каждый слот развертывания имел свой собственный ключ защиты данных.Ключ должен сохраняться между развертываниями.
Uri storageUri = new Uri(blobStorageSasUri);
CloudBlobClient blobClient = new CloudBlobClient(storageUri);
CloudBlobContainer container = blobClient.GetContainerReference("identityserver4dataprotectionkeys");
container.CreateIfNotExistsAsync().GetAwaiter().GetResult();
services.AddDataProtection()
.SetApplicationName($"{_env.EnvironmentName}_identityserver4")
.PersistKeysToAzureBlobStorage(container, $"{_env.EnvironmentName}/dataprotectionkeys.xml");
Как ни странно, приложение ищет другие ключи, которые отсутствуют в хранилище больших двоичных объектов.Например, это исключение:
CryptographicException: The key {3c2e44fa-dbeb-4547-8d1d-40f5eed15590} was not found in the key ring.
Находясь в хранилище BLOB-объектов, у меня есть идентификатор ключа: 6bed1559-9bf7-42af-83fd-85fb417c4edc.
Также в хранилище BLOB-объектов всегда присутствует только один ключ.
У меня серьезные проблемы с реализацией этого API. Помощь очень ценится!