Я пытаюсь использовать ядро asp.net DataProtectionProvider с одной базой данных, поддерживающей ферму серверов.У меня реализован IXmlRepository для магазина, и я успешно поставляю один и тот же сертификат на 2 машины, на которых работает мой сервер.Я проверил, что я использую те же строки назначения в том же порядке, но когда я пытаюсь снять защиту со строки машины, которую кодирует машина a, я получаю общее исключение CryptographicException.
Будет ли иметь значение, если машинаа на машине б есть 2 разные операционные системы?(Linux против Windows Server)
Исключение, которое я получаю:
{System.Security.Cryptography.CryptographicException: исключение типа 'System.Security.Cryptography.CryptographicException'был брошен.на Microsoft.AspNetCore.Cryptography.UnsafeNativeMethods.ThrowExceptionForBCryptStatusImpl (Int32 NTSTATUS) при Microsoft.AspNetCore.Cryptography.UnsafeNativeMethods.ThrowExceptionForBCryptStatus (Int32 NTSTATUS) в Microsoft.AspNetCore.DataProtection.Cng.GcmAuthenticatedEncryptor.DecryptImpl (Байт * pbCiphertext, UInt32 cbCiphertext, Байт *pbAdditionalAuthenticatedData, UInt32 cbAdditionalAuthenticatedData)
в Microsoft.AspNetCore.DataProtection.Cng.Internal.CngAuthenticatedEncryptorBase.Decrypt (ArraySegment 1
ciphertext, ArraySegment
1 additionalAuthenticatedData) при Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore (байт [] protectedData, булевы allowOperationsOnRevokedKeys, UnprotectStatus & status) в Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.DangerousUnprotect (Byte [] protectData, логическое игнорированиеRevocationErrors, логическое и требует миграции, логического и wasRevoked.ReyKate.DateBate.Cat.NET).Protector.Unprotect (Byte [] protectedData) в Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.Unprotect (IDataProtector protector, String protectedData)