AFIP
Web Services
Los denominados “Web Services” (ws) o Servicios Web, posibilitan que en vez de efectuar consultas o solicitudes desde “navegadores web” y esperar visualizar la respuesta en una página web, se efectúe la comunicación directamente entre sistemas implementados por los contribuyentes o consultantes y los sistemas o bases de datos de la AFIP.
Paso 1

Paso 1

PASOS INICIALES

Los programadores de aplicaciones pueden solicitar acceso a los diversos webservices (denominados "servicios") que están disponibles en el ambiente de homologación de la AFIP.

Los programadores pueden obtener y gestionar sus certificados usando la aplicación web WSASS (Autoservicio de Acceso a APIs de Homologación) que está disponible accediendo con clave fiscal de Nivel 2.

Para poder acceder a un servicio, la aplicación a programar debe utilizar un certificado de seguridad, que se obtiene en este sitio. Entre otras cosas, el certificado contiene un Distinguished Name (DN) que incluye una CUIT. Cada DN será identificado por un "alias" o "nombre simbólico", que actúa como una abreviación.

Para obtener el certificado, distinguimos dos casos según si el DN ya fué dado de alta (DN existente) o si aún no existe.

Una vez generado el DN y obtenido el certificado, se puede solicitar autorización de acceso a los servicios de AFIP.

CÓMO GENERAR UNA SOLICITUD DE CERTIFICADO (CSR)

Para obtener el certificado por primera vez, hay que dar de alta al DN. Para esto hay que presentar una "solicitud de certificado" o "Certificate Signing Request" (CSR).

El CSR se genera en su computadora, usando la herramienta OpenSSL (disponible para Windows, UNIX/Linux y MacOSX). Se hace en dos pasos, primero hay que generar una clave privada en formato PKCS#10 y segundo, generar el CSR. Para ello, la forma de ejecutar 'openssl' en la línea de comandos es así:

  • openssl genrsa -out MiClavePrivada 1024
donde MiClavePrivada es el nombre del archivo elegido.
  • openssl req -new -key MiClavePrivada -subj "/C=AR/O=subj_o/CN=subj_cn/serialNumber=CUIT subj_cuit" -out MiPedidoCSR
donde hay que reemplazar:
  • subj_o por el nombre de su empresa
  • subj_cn por el nombre de su sistema cliente
  • subj_cuit por la CUIT (sólo los 11 dígitos, sin guiones) de la empresa o del programador (persona jurídica). Observar que en el serialNumber debe escribirse "CUIT" seguido de un espacio en blanco y luego los 11 dígitos de la CUIT.
  • MiClavePrivada por el nombre del archivo de la clave privada generado antes
  • MiPedidoCSR por el nombre del archivo CSR que se va a crear

EJEMPLO

El programador Juan Pérez de la empresa Supersistemas SRL, cuya CUIT es 20-12345678-9, va a solicitar un certificado para usar en una aplicación que está programando, denominada "Supersistema Negriazul". Para ello deberá ejecutar en la línea de comandos lo siguiente:

  • openssl genrsa -out ClavePrivadaJuanP 1024
  • openssl req -new -key ClavePrivadaJuanP -subj "/C=AR/O=Supersistemas SRL/CN=Supersistema Negriazul/serialNumber=CUIT 20123456789" -out CSRJuanP

La salida en pantalla será similar a lo siguiente:

D:\juanp>openssl genrsa -out ClavePrivadaJuanP 1024
Generating RSA private key, 1024 bit long modulus
.......................++++++
.....................................................++++++
unable to write 'random state'
e is 65537 (0x10001)

D:\juanp>openssl req -new -key ClavePrivadaJuanP -subj "/C=AR/O=Supersistemas SR
L/CN=Supersistema Negriazul/serialNumber=CUIT 20123456789" -out CSRJuanP

D:\juanp>dir
05/08/2015  02:11 PM               887 ClavePrivadaJuanP
05/08/2015  02:11 PM               647 CSRJuanP
               2 File(s)          1,534 bytes
D:\juanp>
					

Si no hay errores, el contenido del archivo 'CSRJuanP' será utilizado al momento de obtener el DN y el certificado.