У меня есть два проекта, один из которых использует сетевое ядро, другой использует сетевую среду.
Доля ключей защиты данных, как описано в этой ссылке .
.netFramework
public override void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection()
.SetApplicationName("company")
.PersistKeysToFileSystem(new DirectoryInfo("c:\\keys"))
.ProtectKeysWithDpapi();
}
//hello protected in net framework.
var helloProtected = MachineKey.Protect(Encoding.UTF8.GetBytes("hello"),
"testprotector");
var base64HelloProtected = Convert.ToBase64String(helloProtected);
.netCore
public void ConfigureServices(IServiceCollection services)
{
services.AddDataProtection()
.SetApplicationName("company")
.PersistKeysToFileSystem(new DirectoryInfo("c:\\keys"))
.ProtectKeysWithDpapi();
}
var bs64msg = //Here i put the protected payload from net framework.
var msgUnprotected = _provider.CreateProtector("testprotector")
.Unprotect(Convert.FromBase64String(bs64msg));
А потом я получаю недопустимое исключение полезной нагрузки.
Github Repostiroy