Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Visual Studio 2022, versión 17.8 Preview 2 y versiones posteriores, puedes firmar paquetes de aplicaciones para UWP y de escritorio con un certificado de Azure Key Vault. Esta herramienta envía el resumen del paquete de la aplicación (hash) a Azure Key Vault para la firma criptográfica con el certificado elegido. A continuación, el resumen firmado se devuelve y se adjunta al paquete localmente.
Importante
Este proceso es seguro. La clave privada del certificado nunca deja Azure Key Vault.
Prerrequisitos
- Una cuenta de Azure. Si aún no tiene una cuenta de Azure, comience aquí.
- Una instancia de Azure Key Vault. Para obtener más información, consulte Creación de un almacén de claves.
- Un certificado de firma de paquete válido importado en Azure Key Vault. El certificado predeterminado generado por Azure Key Vault no funcionará para la firma de código. Para obtener más información sobre cómo crear un certificado de firma de paquete, consulte Creación de un certificado para la firma de paquetes.
Importación de un certificado en Key Vault
Agregar un certificado a Key Vault es muy sencillo. En este ejemplo, agregamos un certificado de firma de código UWP válido denominado UwpSigningCert.pfx.
- En las páginas de propiedades de Key Vault, seleccione Certificados.
- Haga clic en Generar o Importar.
- En la pantalla Crear un certificado , elija los valores siguientes:
- Método de creación de certificados: Importación
- Nombre del certificado: UwpSigningCert
- Cargar archivo de certificado: UwpSigningCert.pfx
- Descifrar certificado: si el certificado está protegido con contraseña, proporciónelo en el campo Contraseña .
- Haga clic en Crear.
Nota:
Windows no confiará en este certificado autofirmado a menos que haya sido importado y marcado como confiable por un administrador. Mantenga todos los certificados seguros, incluidos los certificados autofirmados.
Configuración de las directivas de acceso para Key Vault
Puede controlar quién tiene acceso al contenido de Key Vault mediante directivas de acceso. Las directivas de acceso de Key Vault conceden permisos por separado a claves, secretos y certificados. Puede conceder a un usuario acceso solo a las claves y no a los secretos. Los permisos de acceso para claves, secretos y certificados se administran en el nivel de almacén. Para obtener más información, consulte Seguridad de Azure Key Vault.
Nota:
Al crear una instancia de Key Vault en una suscripción de Azure, se asocia automáticamente al inquilino de Azure Active Directory de la suscripción. Azure AD debe autenticar a cualquier persona que intente administrar o recuperar contenido de una instancia de Key Vault.
- En las páginas de propiedades de Key Vault, seleccione Directivas de acceso.
- Seleccione + Agregar directiva de acceso.
- Haga clic en la lista desplegable Permisos de certificado y active las casillas Obtener y Enumerar en Operaciones de administración de certificados.
- Haga clic en la lista desplegable Permisos de secreto y active las casillas Obtener y Enumerar en Operaciones de administración de secretos.
- Haga clic en Seleccionar principal, busque el usuario al que va a conceder acceso y haga clic en Seleccionar.
- Haga clic en Agregar.
- Asegúrese de guardar los cambios haciendo clic en Guardar.
Nota:
No se recomienda proporcionar a los usuarios acceso directo a un almacén de claves. Lo ideal es que los usuarios se agreguen a un grupo de Azure AD, que a su vez tiene acceso al almacén de claves.
Selección de un certificado de Key Vault en Visual Studio
El Asistente para crear paquetes de aplicaciones en Visual Studio le permite elegir el certificado que se usará para firmar el paquete de la aplicación. Puede elegir el certificado de firma de paquetes mediante Azure Key Vault. Debe proporcionar el URI del almacén de claves que contiene el certificado y la cuenta microsoft autenticada en Visual Studio debe tener los permisos correctos para acceder a él.
- Abra el proyecto de aplicación para UWP o el proyecto de empaquetado de aplicaciones de Windows de escritorio en Visual Studio.
- Seleccione Publicar -> ->Crear paquetes de aplicaciones... para abrir el Asistente para crear paquetes de aplicaciones.
- En la página Seleccionar método de distribución, seleccione Carga lateral.
- En la página Seleccionar método de firma , haga clic en Seleccionar en Azure Key Vault....
- Una vez que aparezca el cuadro de diálogo Seleccionar un certificado de Azure Key Vault , use el selector de cuentas para elegir la cuenta para la que ha configurado una directiva de acceso.
- Escriba el URI del almacén de claves. El URI se puede encontrar en la página Información general de Key Vault y se identifica por nombre DNS.
- Haga clic en el botón Ver metadatos .
- Una vez que los certificados hayan terminado de cargarse, seleccione el que desee en la lista (por ejemplo, UwpSigningCert).
- Haz clic en Aceptar.
Descifrado del certificado con una contraseña de Azure Key Vault
Si usas un certificado protegido con contraseña local (.pfx) para firmar el paquete de la aplicación, puede ser difícil administrar la contraseña usada para descifrarlo. Al importar el certificado en el Asistente para crear paquetes de aplicaciones , se le pedirá que escriba manualmente la contraseña. Como alternativa, hay una opción para elegir la contraseña de Azure Key Vault.
- Abra el proyecto de aplicación para UWP o el proyecto de empaquetado de aplicaciones de Windows de escritorio en Visual Studio.
- Seleccione Publicar -> ->Crear paquetes de aplicaciones... para abrir el Asistente para crear paquetes de aplicaciones.
- En la página Seleccionar método de distribución, seleccione Carga lateral.
- En la página Seleccionar método de firma, haga clic en Seleccionar desde archivo...
- Cuando aparezca el cuadro de diálogo Certificado protegido con contraseña , haga clic en Seleccionar contraseña de Key Vault.
- Una vez que aparezca el cuadro de diálogo Seleccionar una contraseña de Azure Key Vault , use el selector de cuentas para elegir la cuenta para la que ha configurado una directiva de acceso.
- Escriba el URI del almacén de claves. El URI se puede encontrar en la página Información general de Key Vault y se identifica por nombre DNS.
- Haga clic en el botón Ver metadatos .
- Una vez que las contraseñas hayan terminado de cargarse, seleccione la que quiera de la lista (por ejemplo, UwpSigningCertPassword).
- Haz clic en Aceptar.
Habilitación del inicio de sesión en escenarios de CI/CD
Para habilitar el inicio de sesión en escenarios de CI/CD, debe configurar la canalización para usar DefaultAzureCredential para autenticarse con Azure Key Vault. DefaultAzureCredential intentará usar la identidad del agente de canalización para acceder a Key Vault, si tiene los permisos adecuados. Como alternativa, puede especificar una entidad de servicio o una identidad administrada que se usará para la autenticación.