02 marzo, 2011

Manual para el Desarrollador Web Service FE Exportación

Manuales para el desarrollador

Revisión correspondiente al 26 de abril de 2010

http://www.afip.gov.ar/ws/WSFEX/WSFEX-Manualparaeldesarrollador.pdf

Asociar el Ceritificado Digital a un Webservice de Negocio

El siguiente documento tiene como objetivo mostrar los distintos pasos para asociar el certificado digital (válido para el entorno de producción) a un WSN (Web Service de Negocio). Se presupone que ya se posee clave fiscal de nivel acorde a los servicios que se utilizan, tramitada en una dependencia de AFIP.

PASO 1
Ingresar al portal de AFIP (www.afip.gob.ar) y presionar el botón < ir > sin completar ningún dato:

Se abre una nueva ventana con la página de acceso. Ingresar su “CUIT / CUIL / CDI” y
“clave” y cliquear en “INGRESAR”.

PASO 2
Luego en la siguiente lista de servicios seleccionar el servicio “Administrador de Relaciones de Clave Fiscal”. Una vez que ingrese al servicio “Administrador de Relaciones de Clave Fiscal” debe realizar lo siguiente:

i) Cliquear en “Nueva Relacion”;
ii) Cliquear en “BUSCAR” para seleccionar el WSN;
iii) Seleccionar el WSN, por ejemplo, “ws - Facturación Electrónica”;
iv) Cliquear en “BUSCAR” para seleccionar el Representante;
v) Debe seleccionar el nombre del alias que utilizó cuando generó el certificado digital y cliquear en “CONFIRMAR”;
vi) Cliquear en “CONFIRMAR”.

Obtención de Certificado Digital Producción

El siguiente documento tiene como objetivo mostrar los distintos pasos para
la obtención de un certificado digital válido solamente para el entorno de producción.
Se presupone que ya se posee clave fiscal de nivel acorde a los servicios que
se utilizan (3), tramitada en una dependencia de AFIP.

PASO 1
Ingresar al portal de AFIP (www.afip.gob.ar) y presionar el botón < ir > sin completar ningún dato:
Se abre una nueva ventana con la página de acceso. Ingresar su “CUIT / CUIL / CDI” y
“clave” y cliquear en “INGRESAR”

PASO 2
Luego en la siguiente lista de servicios seleccionar:
a) Si está habilitado, el servicio “Administración de Certificados Digitales”.
b) Si el servicio “Administración de Certificados Digitales” no está habilitado, el
servicio “Administrador de Relaciones de Clave Fiscal” (para poder habilitarlo).
Si la opción es b) para poder habilitar el servicio “Administración de Certificados
Digitales” debe realizar lo siguiente: i) Cliquear en “Nueva Relacion”;ii) Cliquear en “BUSCAR” para seleccionar el servicio; iii) Seleccionar el servicio “Administración de Certificados Digitales”; iv) Cliquear en “BUSCAR” para seleccionar el Representante; v) Ingresar CUIT/CUIL/CDI del Representante y cliquear en “BUSCAR”; vi) Cliquear en “CONFIRMAR”; vii) Cliquear en “CONFIRMAR”; viii) Salir del sistema y volver a ingresar para poder visualizar y seleccionar el servicio “Administración de Certificados Digitales” en la lista de servicios; ix) En caso de no visualizar el servicio en la lista, debe aceptar la relación utilizando el servicio “Aceptación de Designación”.

PASO 3
Seleccionar el contribuyente para el que va a operar el servicio (si representa a más de un contribuyente)

PASO 4
Cliquear en “Agregar alias”

PASO 5
Elegir un nombre para el alias y subir un CSR. En el link http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/cert-req-howto.txt puede encontrar la
información necesaria para generar el CSR. Luego cliquear en “Agregar alias”.

PASO 6
Cliquear en “Ver” (link ubicado a la derecha del alias generado) para poder visualizar y descargar a su PC el certificado.

Arquitectura Webservices Afip

AFIP: Web Services, Arquitectura
El intercambio de información entre AFIP y los Entes Externos (EE) se
implementa a través de web services SOAP sobre transporte HTTPS.
Todos estos web services de negocio (WSN) están directamente accesibles a
través de Internet, no se requiere el establecimiento de canales especiales de
comunicaciones ni VPNs.

El acceso a los WSN está regulado por otro WS llamado Web Service de
Autenticación y Autorización (WSAA), el cual autentica a los clientes y les
concede permiso de acceso a cada uno de los WSN mediante el otorgamiento
de un Ticket de Acceso (TA). Cada TA es válido para un WSN en particular y
tiene una validez limitada en el tiempo (actualmente, doce horas). El cliente
será responsable de presentar al WSN el TA otorgado por el WSAA, de lo
contrario el WSN rechazará su solicitud de acceso.

Autenticación y Autorización
La autenticación del cliente se realiza utilizando criptografía de clave pública
basada en certificados digitales X.509. A estos efectos, AFIP actúa como
Autoridad Certificante y emite estos certificados sin aplicar ningún cargo a los
EE.
Una vez obtenido el certificado digital el EE llevará a cabo los trámites
requeridos en cada caso para obtener la autorización inicial para acceder a un
WSN y lo relacionará con un certificado digital.
El cliente solicitará al WSAA que le conceda un TA para un WSN en particular
mediante el envío de una estructura CMS (ver PKCS#7, S/MIME) conteniendo la
solicitud propiamente dicha (ver TRA en Manual para el desarrollador del
WSAA) más su firma digital separada más su certificado X.509. Basado en el
análisis de estos datos, el WSAA autenticará al cliente mediante la verificación
de su firma digital y la comprobación en su base de datos de que el EE haya
completado los trámites de autorización inicial para acceder al WSN para el
cual solicita permiso en el TRA; si estos controles son superados, entonces el
WSAA contestará devolviendo un TA, de lo contrario, devolverá un mensaje de
error explicativo.

El cliente del WSN extraerá del TA dos componentes -Token y Sign- y los
enviará junto con los datos de negocio en cada solicitud que le envíe al WSN.

Ambientes de ejecución
Toda esta infraestructura está replicada en dos ambientes separados, el de
Testing y el de Producción. El de Testing es provisto para que los EEs puedan
probar sus desarrollos hasta que estén listos para pasar al ambiente de
Producción. Como estos dos ambientes estan comletamente aislados uno del
otro, los certificados digitales de uno no son válidos en el otro.

Obtención de certificados y autorización inicial
El mecanismo de obtención de certificados digitales y los trámites iniciales para obtener autorización de acceso a los WSN es también diferente en ambos ambientes: en el de Testing estos dos pasos se completan mediante e-mail a webservices@afip.gov.ar; en el de Producción estos dos pasos deben ser completados a través del portal de AFiP en www.afip.gov.ar, Trámites con Clave Fiscal, Administrador de Relaciones.

Fuente Afip: www.afip.gov.ar/ws

Cómo generar un Request de Certificado Digital

Básicamente, necesita usar el utilitario OpenSSL.
Si tiene acceso a un servidor Unix/Linux, seguramente, ya lo tiene instalado.
Si sólo tiene acceso a equipos Windows, puede bajar openSSL de:
http://www.slproweb.com/products/Win32OpenSSL.html

Los pasos a seguir son los siguientes:

- Genere su clave privada (private key) ejecutando desde la línea de comando:
openssl genrsa -out privada 1024

Haga un backup de su clave privada para evitar futuros inconvenientes. Tenga
en cuenta que la va a necesitar una vez que obtenga su certificado X.509, el
cual no le va a servir de mucho si Ud. no dispone de la clave privada que le
corresponde.


- Genere su CSR (Certificate Signing Request) ejecutando desde la línea de
comando:
openssl req -new -key privada -subj "/C=AR/O=subj_o/CN=subj_cn/serialNumber=CUIT subj_cuit" -out pedido

Reemplace:
subj_o por el nombre de su empresa.
subj_cn por su nombre o server hostname.
subj_cuit por la CUIT sin guiones de la empresa o programador.


- Una vez que haya generado correctamente su CSR, puede usarlo para obtener su
certificado digital X.509.
Para el caso del entorno de Testing, envíelo por e-mail a
webservices@afip.gov.ar aclarando a qué WS "de negocio" (por ej.: "wsfe",
"wsseg", etc.) pretende acceder usando este certificado. El certificado le
será devuelto por e-mail.
Para el caso del entorno de Producción, Ud. podrá obtener su certificado
interactivamente usando el servicio "Adminitración de Certificados Digitales"
del menú de trámites con Clave Fiscal en nuestro portal www.afip.gob.ar.
Además deberá asociar el certificado al Web Service de Negocio en el cuál está
interesado, usando el servicio "Administrador de Relaciones de Clave Fiscal".
Para más datos, ver los siguientes documentos:
http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/wsaa_obtener_certificado_produccion_20100507.pdf
http://wswhomo.afip.gov.ar/fiscaldocs/WSAA/wsaa_asociar_certificado_a_wsn_produccion_20100507.pdf

- Segun la tecnología que elija utilizar para llevar a cabo el desarrollo
puede llegar a necesitar el certificado en formato pkcs12 (certificado x509 +
clave privada). Por ejemplo, con el cliente en .NET contribuido.
Para generarlo debe ejecutar desde la línea de comando:

openssl pkcs12 -export -inkey privada -in certificado.crt -out alias.p12


- En algunos equipos Windows al invocar al WSAA para obtener su ticket de acceso
puede llegar a obtener el siguiente mensaje de error:

"La contraseña de red especificada no es válida".

Este error tiene que ver con el problema de que Windows parece no entender
que el pkcs#12 generado con openssl no tiene password.
La solución es importar el certificado al repositorio de Windows (Control
panel/Internet Options/Contents/Certificates).
Luego volver a exportarlo (hasta la versión 7 de Internet Explorer no es obligatorio ponerle password).
Tener en cuenta que debe tildar la opción "Marcar esta clave como exportable".

Fuente: Publicación Afip www.afip.gov.ar/ws