> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/es/despliegue-de-scepman/intermediate-certificate.md).

# CA intermedia

{% hint style="warning" %}
Solo en SCEPman Enterprise Edition
{% endhint %}

Si quieres usar otra CA raíz como autoridad principal, puedes crear un certificado de CA intermedia para operar SCEPman como Autoridad de certificación subordinada. Puedes crear el certificado correcto directamente en Azure Key Vault y descargar el CSR para firmarlo con tu CA raíz. La solicitud firmada se puede cargar y fusionar en Azure Key Vault. Este artículo te guía paso a paso a través de los pasos necesarios.

## Permisos de Key Vault

Debes conceder acceso a Azure Key Vault a tu cuenta de usuario para crear el CSR y fusionar el certificado de CA intermedia. La forma de asignar los permisos depende de la configuración de acceso de tu Key Vault:

{% tabs %}
{% tab title="Azure RBAC" %}

1. Navega hasta tu Azure Key Vault en Azure Portal
2. Haga clic en **Control de acceso (IAM)** en el panel de navegación izquierdo.
3. Haga clic en **Asignaciones de roles** y agrega una nueva asignación de rol

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FZUqsPTRdUk5IhmZZlBVD%2Fimage.png?alt=media&amp;token=325c2296-4f6b-476d-b003-29cf3674556f" alt=""><figcaption><p>Agrega una nueva asignación de rol a tu Key Vault</p></figcaption></figure>

4. Selecciona el **Oficial de certificados de Key Vault** rol y haz clic en **Siguiente**

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FptcaAY0strUu3qIgkTdc%2Fimage.png?alt=media&amp;token=6bf4adc2-da77-4ece-ba68-09c61fc6905e" alt=""><figcaption></figcaption></figure>

5. Ahora busca y agrega tu cuenta de administrador de AAD en la **Miembros** sección y continúa asignando el rol

Después de agregar la asignación de rol, tu cuenta de Azure AD tiene permiso para crear un CSR y cargar el certificado.
{% endtab %}

{% tab title="Directivas de acceso de Key Vault" %}

1. Navega hasta tu Azure Key Vault en Azure Portal
2. Haga clic en **directivas de acceso** en el panel de navegación izquierdo.
3. Haga clic en **Crear** y elige la **Administración de certificados** plantilla, luego siguiente

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FD2mWeiZ7YnQuRN0rdypW%2F2023-06-14%2016_20_43-IntermediateCert.png?alt=media&amp;token=da6b385e-8902-4b53-8a9f-25f3573d6532" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2F37QHfqcQRHNboM4yQkTb%2F2023-06-14%2016_23_37-IntermediateCert.png?alt=media&amp;token=3cc22a95-8f13-4487-b270-083efa2779bd" alt=""><figcaption></figcaption></figure>

4. Ahora busca y agrega tu cuenta de administrador de AAD en la **Principal** sección, luego siguiente, siguiente y crear

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FIj3S2D7wkNquLnBJSUQe%2F2023-06-14%2017_06_33-.png?alt=media&amp;token=195c03cb-a120-434b-8aa1-c44d4b2d26f6" alt=""><figcaption></figcaption></figure>

Después de agregar los permisos, tu cuenta de Azure AD tiene permiso para crear un CSR y cargar el certificado.
{% endtab %}
{% endtabs %}

## Abre la red de Key Vault al sistema de administración

Si estás usando un [Private Endpoint](/es/configuracion-de-azure/private-endpoints.md) para Key Vault, debes agregar una excepción que permita al cliente acceder a Key Vault a nivel de red. Si no estás usando un Private Endpoint, puedes omitir esta parte.

* Ve a Azure Key Vault en Azure Portal.
* Ve al panel de Networking en Configuración.
* Cambia a "Permitir acceso público desde redes virtuales y direcciones IP específicas" si actualmente has seleccionado "Deshabilitar acceso público".
* Agrega la dirección IP del cliente en el que quieres [ejecutar más adelante el módulo de PowerShell de SCEPman](#creating-intermediate-ca-certificate-with-the-scepman-powershell-module). Si estás usando Azure Cloud Shell y [está conectado a una VNET](https://learn.microsoft.com/en-us/azure/cloud-shell/vnet/overview), puedes agregar esta VNET. De lo contrario, la forma más sencilla es permitir temporalmente la dirección IP pública de Cloud Shell, ya que la autenticación fuerte protege tu Key Vault. Podrías usar un comando como `(Invoke-WebRequest -UseBasicParsing -uri "http://ifconfig.me/ip").Content` para encontrar la dirección IP pública de la sesión.

## Actualizar la configuración de Azure App Service

El siguiente paso es actualizar la configuración de Azure App Service para que coincida con el nombre del sujeto de la CA intermedia que crearás en el siguiente paso.

1. Navega hasta tu Azure App Service
2. Haga clic en **Variables de entorno** en el panel de navegación izquierdo
3. En **Configuración de la aplicación,** debes editar la siguiente configuración:
   1. `AppConfig:KeyVaultConfig:RootCertificateConfig:CertificateName`\
      Cámbialo por un nombre común (CN) preferido para tu CA intermedia.
   2. `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject`\
      Solo cambia el valor CN del nombre del sujeto para que coincida con el nombre común usado arriba.
4. Haga clic en **Aplica y confirma.**
5. Reinicia Azure **App Service** para aplicar los cambios y luego navega a tu URL de SCEPman.

{% hint style="warning" %}
Ten en cuenta que la variable CertificateName corresponderá directamente al objeto de certificado que se creará en Azure Key Vault. Por lo tanto, solo puedes usar nombres de certificado que contengan caracteres alfanuméricos y guiones
{% endhint %}

<figure><img src="https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2FvO2YgKtltBesm2Eme7ix%2Fimage.png?alt=media&amp;token=9ec3f21e-b6eb-47c5-8e10-3e2cbe519669" alt=""><figcaption></figcaption></figure>

## Creación de un certificado de CA intermedia con el módulo de PowerShell de SCEPman

{% hint style="warning" %}
Para asegurarte de que este módulo funcione correctamente, necesitarás un equipo con [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (también conocido como `az`) instalado. Azure CLI viene preinstalado en el [Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), que es el entorno recomendado para ejecutar este módulo.
{% endhint %}

Puedes usar la versión 1.9 y posteriores del módulo de PowerShell de SCEPman para crear un CSR para un certificado de CA intermedia. Puedes instalar la versión más reciente del módulo desde PowerShell Gallery con el siguiente comando:

```powershell
Install-Module -Name SCEPman -Scope CurrentUser -Force
```

Luego, puedes indicarle al módulo el nombre de tu organización para que aparezca en el certificado:

```powershell
Reset-IntermediateCaPolicy -Organization "My Organization"
```

Configura el sujeto de tu CA intermedia para que coincida con el que has usado arriba en `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject` (opcionalmente, puedes modificar algunos ajustes adicionales para controlar el contenido del CSR):

{% code lineNumbers="true" %}

```
$policy = Get-IntermediateCaPolicy
$policy.policy.x509_props.subject = "CN=YOUR_CN_FROM_ABOVE,OU=YOUR_TENANT_ID,O=YOUR_ORGANIZATION"
# cambia algunos ajustes adicionales de $policy
Set-IntermediateCaPolicy -Policy $policy
```

{% endcode %}

Por último, puedes crear el CSR con el siguiente comando (o uno similar según tu entorno):

```powershell
New-IntermediateCA -SCEPmanAppServiceName "app-scepman-example" -SearchAllSubscriptions 6>&1
```

El comando mostrará el CSR que enviarás a tu CA raíz para su firma.

## Emite el certificado de CA intermedia

Ahora, envía tu CSR a tu CA raíz y recupera tu certificado de CA intermedia emitido. Guarda el certificado en el disco (.cer) para que en el siguiente paso puedas cargarlo y fusionarlo con la clave privada en Azure Key Vault.

### Pasos especiales para una CA raíz empresarial de ADCS

Si estás usando Active Directory Certificate Services como una CA raíz integrada en AD y, por lo tanto, debes elegir una plantilla de certificado, esta debe incluir los siguientes usos de clave: "CRLSign", "DigitalSignature", "KeyEncipherment" y "KeyCertSign". KeyEncipherment falta en la plantilla predeterminada "Subordinate Certificate Authority" y, además, no se puede seleccionar en plantillas nuevas. Consulta a continuación una solución si te encuentras con este problema. **Esto no aplica a las CA raíz independientes**, también conocidas como CA raíz sin conexión, ya que toman los usos de clave correctamente del CSR.

#### Esquema

Puedes duplicar la plantilla SubCA o usarla según sea necesario. Luego solo emites un certificado con la plantilla basada en el CSR. Este certificado tendrá *el uso de clave incorrecto* (0x86). Después, vuelves a firmar el certificado con una extensión de uso de clave adaptada usando `certutil -sign`.

#### Paso a paso

1. Solicita y emite un certificado SubCA.
2. Exporta el nuevo certificado SubCA a un archivo (por ejemplo, c:\temp\SubCA.cer) en la CA raíz. Elige **X.509 codificado en Base64** formato.
3. Crea un archivo "extfile.txt" con el contenido que se muestra a continuación en la CA raíz (por ejemplo, c:\temp\extfile.txt).
4. Abre la línea de comandos y ejecuta: `certutil -sign "c:\temp\SubCA.cer" "c:\temp\SubCAwithKeyEncipher.cer" @c:\temp\extfile.txt`
5. El certificado SubCAwithKeyEncipher.cer ahora contiene el uso de clave solicitado (0xA6). La huella digital (firma) ha cambiado, pero el número de serie no.
6. La lista de certificados emitidos en ADCS contiene el certificado antiguo. Como el número de serie no ha cambiado, puedes administrar el nuevo certificado usando el identificador antiguo; por ejemplo, revocar el certificado antiguo revocará el nuevo certificado. Si no te gusta esto, puedes eliminar la entrada del certificado antiguo usando `certutil -deleterow` y luego importar el nuevo certificado usando `certutil -importcert`.

#### extfile.txt

```
[Extensions]
2.5.29.15=AwIBpg==
Critical=2.5.29.15
```

## Cargar el certificado de CA intermedia

1. En Azure Key Vault, haz clic en tu certificado y pulsa **Operación del certificado**
2. Ahora puedes ver las opciones **Descargar CSR** y **Fusionar solicitud firmada**

![](https://4115997120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoGejQeUQcw7lqnQ3WX%2Fuploads%2Fgit-blob-9b845d790796a34cb0e9296434373a502ddfee92%2Fscreenshot-2020-10-19-at-16.01.18%20\(1\)%20\(2\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(3\).png?alt=media)

1. Haga clic en **Fusionar solicitud firmada** y carga tu certificado de CA intermedia. Después de haber cargado la solicitud firmada, puedes ver el certificado válido en tu Azure Key Vault en el área **Completado**

{% hint style="warning" %}
El certificado de CA intermedia debe estar en formato PEM (codificado en Base64). Si usas el formato binario DER, verás un mensaje de error que dice "La propiedad x5c tiene un valor no válido. X5C debe tener al menos un elemento válido" en los detalles.
{% endhint %}

## Verificar la idoneidad de la CA

En la página de estado de SCEPman, puedes ver la nueva configuración y descargar el nuevo certificado de CA intermedia para implementarlo mediante Endpoint Manager.

Comprueba si el certificado de CA cumple todos los requisitos visitando tu página principal de SCEPman. Revisa lo que dice la página principal junto a "CA Suitability". Si, por ejemplo, dice *Al certificado de CA le falta el uso de clave "Key Encipherment"*, debes volver al paso [Emite el certificado de CA intermedia](#issue-the-intermediate-ca-certificate) y corregir la emisión del certificado.

## CA intermedias y perfiles SCEP de Intune

En la plataforma Android, los perfiles de configuración SCEP en Intune deben hacer referencia a la CA raíz, no a la CA intermedia. De lo contrario, el perfil de configuración falla. En Windows, es al revés: los perfiles de configuración SCEP en Intune deben hacer referencia a la CA intermedia, no a la CA raíz. Para iOS y macOS, no tenemos información concluyente sobre si una u otra forma es mejor.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scepman.com/es/despliegue-de-scepman/intermediate-certificate.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
