> For the complete documentation index, see [llms.txt](https://docs.afipsdk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.afipsdk.com/recursos/tutoriales-pagina-de-arca/obtener-certificado-de-testing.md).

# Obtener certificado de testing

{% hint style="info" %}
Si querés evitar este trabajo manual, podés hacerlo automáticamente a través de tu sistema con la [automatización para Crear certificado de desarrollo](https://afipsdk.com/docs/automations/create-cert-dev/nodejs/).
{% endhint %}

## Paso 1 - Instalar OpenSSL

Para la generación del certificado vamos a usar OpenSLL, el cual ya viene en los sistemas Linux/Unix. Para Windows se puede descargar desde <https://sourceforge.net/projects/openssl/>, una vez descargado copiar la carpeta `bin` en `C:\` con el nombre `OpenSSL`.

Ahora debemos abrir una consola. En Windows se debe abrir en modo administrador y navegar hacia `C:\OpenSSL`

## Paso 2 - Generar la clave de cifrado (key)

Dentro de la consola lo primero que debemos ejecutar es el siguiente comando para generar el archivo key.

```bash
openssl genrsa -traditional -out [nombre de archivo] 2048
```

Reemplazando:

> * `[nombre de archivo]` con el nombre que querés que se guarde el archivo key.

Este archivo key es muy importante porque representa la «contraseña» con la que va a funcionar el certificado así que no debemos perderlo.

Por ejemplo yo voy a generarlo de la siguiente forma

```
openssl genrsa -traditional -out keytest 2048
```

{% hint style="warning" %}
Las versiones mas antiguas de OpenSSL no soportan el parámetro -traditional, si no te funciona borralo
{% endhint %}

De esta forma el nombre de mi archivo key seria `keytest`

## Paso 3 - Generar el Certificate Signing Request (csr)

Una vez generada la key estamos listos para generar el CSR. Para ello debemos ejecutar el siguiente comando:

```
openssl req -new -key [nombre de archivo key] -subj "/C=AR/O=[nombre de la empresa]/CN=[nombre del certificado]/serialNumber=CUIT [CUIT]" -out [nombre de archivo para el CSR]
```

Reemplazando:

> * `[nombre de archivo key]` con el nombre del archivo key generado en el paso anterior.
> * `[nombre de la empresa]` con el nombre de la empresa para quien es el certificado. En testing recomendamos utilizar el nombre de uno para no generar confusiones.
> * `[nombre del certificado]` con el nombre que quieres que tenga el certificado. Solo se pueden utilizar letras y números. Esto es a modo de que puedas reconocerlo luego en la pagina de AFIP si generas varios certificados para diferentes sistemas.
> * `[CUIT]` con el CUIT de la empresa para quien es el certificado. De nuevo, en testing recomendamos usar el CUIT de uno para no generar confusiones.
> * `[nombre de archivo para el CSR]` con el nombre que quieres que se guarde el archivo CSR

Por ejemplo yo lo generaría de la siguiente forma

```bash
openssl req -new -key keytest -subj "/C=AR/O=IvanM/CN=Test1/serialNumber=CUIT 11111111111" -out csr-test1
```

Donde en `11111111111` pondría mi CUIT

Teniendo el archivos CSR ya podemos dirigirnos a la página de ARCA para generar el certificado.

{% hint style="warning" %}
ATENCIÓN: El archivo CSR no es lo mismo que el certificado, suele ser un error común confundirlos al momento de usar el certificado
{% endhint %}

## Paso 4 - Generar el certificado (cert)

Dentro de nuestro escritorio de ARCA debemos ingresar en **«WSASS - Autogestión Certificados Homologación»**

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

En caso de no tener esta aplicación en tu escritorio debes ver el tutorial [Habilitar administrador de certificados de testing](/recursos/tutoriales-pagina-de-arca/habilitar-administrador-de-certificados-de-testing.md)

Dentro de esta aplicación debemos ir a «Nuevo Certificado»

<figure><img src="/files/7udk4U0rPRevMMX8CA1d" alt="" width="563"><figcaption></figcaption></figure>

Allí en `1. Nombre simbólico del DN` debemos colocar el nombre que le pusimos al certificado dentro del CSR.

En `2. Solicitud del certificado en formato PKCS#10` debemos pegar el contenido de nuestro CSR.

{% hint style="info" %}
El CSR lo podes abrir con cualquier editor de texto para ver su contenido en texto plano.
{% endhint %}

Y luego apretar `Crear DN y obtener certificado`. En mi caso quedaría así

<figure><img src="/files/idUosyvtQOVnv7iNsLSD" alt="" width="563"><figcaption></figcaption></figure>

Y debajo se nos generara el certificado, este debemos guardarlo en nuestra computadora junto con la key para usarlo luego en la librería.

{% hint style="info" %}
El CSR ya no lo necesitaremos, podemos eliminarlo.
{% endhint %}

Ahora lo que nos falta por hacer es autorizar a que con este certificado se pueda acceder al/los web service/s que queramos usar.
