Ошибка проверки подписи IDX10500 - только после публикации - PullRequest
0 голосов
/ 28 августа 2018

Мы получаем следующую ошибку

IDX10500 Signature validation failed. 
Unable to resolve SecurityKeyIdentifier: 'SecurityKeyIdentifier'  
with Clause[0]= System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause

Эта ошибка возникает только в том случае, если проект IdentityServer.Web опубликован и в прошлом браузер был на сайте клиента. Если браузер обновляется, отображается страница входа в IdentityServer4.

Мы работаем с IdentityServer4, ASP.Net Core 2.0. и использование файлов cookie приложения. Сайт размещается в Azure как служба приложений.

В ConfigureServices мы используем сертификат X509 для подписи -

X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            certStore.Open(OpenFlags.ReadOnly);

            X509Certificate2Collection certCollection = certStore
                .Certificates
                .Find(X509FindType.FindByThumbprint,
                Configuration.GetValue<string>("SSL:Thumbprint"),
                false);

            X509Certificate2 cert = null;
            if (certCollection.Count > 0)
            {
                cert = certCollection[0];
            }
            certStore.Dispose();

            services.AddIdentityServer()
                .AddSigningCredential(cert)

Мы тестируем решение, использующее защиту данных ядра .net, которое хранит зашифрованные данные ключа в BLOB-объекте Azure. Мы провели предварительное тестирование, которое показывает, что это решит проблему, но я не уверен. Тестирование продолжается.

Кто-нибудь сталкивался с этой проблемой раньше (SecurityKeyIdentifier недействителен после публикации)?

Решение, которое мы тестируем, ниже -

Uri blobUriWithSASToken = new StorageAccountService(Configuration).GetStorageAccountBlobWithSASToken2Async().Result;
        services.AddDataProtection()
            .PersistKeysToAzureBlobStorage(blobUriWithSASToken);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...