¿Cómo se distribuyen las claves de Protección de datos con una aplicación web .NET Core?

No tengo claro cómo funcionan las claves de Protección de datos en un entorno de granja web. No tengo una ubicación común que todos los servidores puedan usar (y no quiero tratar con los permisos). Por lo tanto, me gustaría generar una clave y distribuirla con la aplicación web.

Estoy haciendo lo siguiente, pero no estoy seguro si eso es correcto. Entonces genero un archivo de clave localmente en mi PC de desarrollo con:

var specialFolder = Environment.SpecialFolder.CommonApplicationData;
var appDataPath = Path.Combine(
     Environment.GetFolderPath(specialFolder),
    "company", 
    "product"
);
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));

Esto crea unakey-some-guid.xml archivo. Luego distribuyo este archivo con mi aplicación web.

Ahora, cuando ejecuto mi aplicación web, en los servicios de Configuración de inicio, copie este archivo en elappDataPath ubicación (definida anteriormente) y llame aservices.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));.

¿Eso funcionará? ¿O fundamentalmente me falta algo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta