> 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 desea usar otra CA raíz como autoridad principal, puede crear un certificado de CA intermedia para operar SCEPman como una Autoridad de Certificación subordinada. Puede crear el certificado correcto directamente en Azure Key Vault y descargar la CSR para firmarla con su CA raíz. La solicitud firmada se puede cargar y combinar en Azure Key Vault. Este artículo le guía paso a paso a través de los pasos necesarios con detalle.

## Permisos de Key Vault

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

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

1. Navegue hasta su Azure Key Vault en el Azure Portal
2. Haz clic en **Control de acceso (IAM)** en el panel de navegación izquierdo.
3. Haz clic en **Asignaciones de roles** y agregue una nueva asignación de rol

<figure><img src="/files/e2aca40c30dcc5bcfa5c35bbf9c03ca067e5f038" alt=""><figcaption><p>Agregue una nueva asignación de rol a su Key Vault</p></figcaption></figure>

4. Seleccione la **Key Vault Certificate Officer** rol y haga clic en **Siguiente**

<figure><img src="/files/2140e26a777350a476647641eddb496e623c8b2e" alt=""><figcaption></figcaption></figure>

5. Ahora busque y agregue su cuenta de administrador de AAD en la **Miembros** sección y continúe asignando el rol

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

{% tab title="Políticas de acceso del almacén" %}

1. Navegue hasta su Azure Key Vault en el Azure Portal
2. Haz clic en **Directivas de acceso** en el panel de navegación izquierdo.
3. Haz clic en **Crear** y elija la **Gestión de certificados** plantilla, luego siguiente

<figure><img src="/files/ef0866cad878b71959b3de2aa0c2fbc6077341e0" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/9ddff4f15a2a33e2f8e968f78c9776793fd3e52c" alt=""><figcaption></figcaption></figure>

4. Ahora busque y agregue su cuenta de administrador de AAD en la **Principal** sección, luego siguiente, siguiente y crear

<figure><img src="/files/19ef0ecbb96addbe6af48f5619602c09802b017d" alt=""><figcaption></figcaption></figure>

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

## Abrir 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, debe agregar una excepción que permita al cliente acceder a Key Vault a nivel de red. Si no está usando un Private Endpoint, puede omitir esta parte.

* Vaya a Azure Key Vault en el Azure Portal.
* Vaya al panel de Networking bajo Settings.
* Cambie a "Allow public access from specific virtual networks and IP addresses" si actualmente ha seleccionado "Disable public access".
* Agregue la dirección IP del cliente en el que desea [ejecutar más adelante el módulo PowerShell de SCEPman](#creating-intermediate-ca-certificate-with-the-scepman-powershell-module). Si está usando Azure Cloud Shell y [está conectado a una VNET](https://learn.microsoft.com/en-us/azure/cloud-shell/vnet/overview), puede 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 una autenticación fuerte protege su Key Vault. Puede 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 de asunto de la CA intermedia que creará en el siguiente paso.

1. Navegue hasta su Azure App Service
2. Haz clic en **Variables de entorno** en el panel de navegación izquierdo
3. En **Configuración de la aplicación,** debe editar la siguiente configuración:
   1. `AppConfig:KeyVaultConfig:RootCertificateConfig:CertificateName`\
      Cambie esto a un nombre común (CN) preferido para su CA intermedia.
   2. `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject`\
      Cambie solo el valor CN del nombre de asunto para que coincida con el nombre común usado arriba.
4. Haz clic en **Aplique y confirme.**
5. Reinicie el Azure **App Service** para aplicar los cambios y luego navegue a su URL de SCEPman.

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

<figure><img src="/files/c018730c4b45e6f248cdce9edc8baa12f7ebb75b" alt=""><figcaption></figcaption></figure>

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

{% hint style="warning" %}
Para asegurar que este módulo funcione correctamente, necesitará una estación de trabajo 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 [Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), que es el entorno recomendado para ejecutar este módulo.
{% endhint %}

Puede usar la versión 1.9 y posteriores del módulo PowerShell de SCEPman para crear una CSR para un certificado de CA intermedia. Puede instalar la última versión del módulo desde PowerShell Gallery con el siguiente comando:

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

Luego, puede indicar al módulo el nombre de su organización para que aparezca en el certificado:

```powershell
Reset-IntermediateCaPolicy -Organization "Mi organización"
```

Configure el asunto de su CA intermedia para que coincida con el que ha usado arriba en `AppConfig:KeyVaultConfig:RootCertificateConfig:Subject` (opcionalmente, puede modificar algunos ajustes adicionales para controlar el contenido de la CSR):

{% code lineNumbers="true" %}

```
$policy = Get-IntermediateCaPolicy
$policy.policy.x509_props.subject = "CN=SU_CN_DE_ARRIBA,OU=SU_TENANT_ID,O=SU_ORGANIZACIÓN"
# cambie algunos ajustes adicionales de $policy
Set-IntermediateCaPolicy -Policy $policy
```

{% endcode %}

Finalmente, puede crear la CSR con el siguiente comando (o uno similar según su entorno):

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

El comando generará la CSR que debe enviar a su CA raíz para su firma.

## Emitir el certificado de CA intermedia

Ahora, envíe su CSR a su CA raíz y recupere su certificado de CA intermedia emitido. Guarde el certificado en disco (.cer), para que en el siguiente paso pueda cargarlo y combinarlo con la clave privada en Azure Key Vault.

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

Si está usando Active Directory Certificate Services como una CA raíz integrada en Active Directory y, por tanto, debe 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. Consulte a continuación una solución si se encuentra con este problema. **Esto no se aplica a las CA raíz independientes**, también conocidas como CA raíz sin conexión, ya que toman correctamente los usos de clave de la CSR.

#### Esquema

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

#### Paso a paso

1. Solicite y emita un certificado SubCA.
2. Exporte el nuevo certificado SubCA a un archivo (por ejemplo, c:\temp\SubCA.cer) en la CA raíz. Elija **Base-64 encoded X.509** formato.
3. Cree un archivo "extfile.txt" con el contenido mostrado abajo para la CA raíz (por ejemplo, c:\temp\extfile.txt).
4. Abra la línea de comandos y ejecute: `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, puede gestionar el nuevo certificado usando el identificador antiguo; por ejemplo, revocar el certificado antiguo revocará el nuevo certificado. Si esto no le gusta, puede 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, haga clic en su certificado y pulse **Certificate Operation**
2. Ahora puede ver las opciones **Download CSR** y **Merge Signed Request**

![](/files/3a7cf14177eb04fc8acfc0389f9dbb0794bdd93b)

1. Haz clic en **Merge Signed Request** y cargue su certificado de CA intermedia. Después de haber cargado la solicitud firmada, puede ver el certificado válido en su Azure Key Vault en el área **Completed**

{% hint style="warning" %}
El certificado de CA intermedia debe estar en formato PEM (codificado en Base64). Si usa el formato binario DER, verá un mensaje de error que dice "Property x5c has invalid value X5C must have at least one valid item" en los detalles.
{% endhint %}

## Verificar la idoneidad de la CA

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

Compruebe si el certificado de CA cumple todos los requisitos visitando su página principal de SCEPman. Revise lo que dice la página principal junto a "CA Suitability". Si, por ejemplo, dice *CA Certificate is missing Key Usage "Key Encipherment"*, debe volver al paso [Emitir el certificado de CA intermedia](#issue-the-intermediate-ca-certificate) y corregir la emisión del certificado.

## CAs 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. Para 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
