Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndicedecontenido
Introduccin.....................................................................................................................................3 Propsito.....................................................................................................................................3 DescripcinGeneraldelServicio...............................................................................................3 Referencias..................................................................................................................................4 InvocacindelWSAA.....................................................................................................................4 SincronizacindeClocks............................................................................................................4 WSDLdelWSAA.......................................................................................................................4 FlujoPrincipal.............................................................................................................................6 GeneracindeldocumentodelTRA(LoginTicketRequest.xml)...............................................6 GeneracindelTicketdeRequerimientodeAcceso(TRA)......................................................7 CodificacinenBase64elTRA..................................................................................................7 EnvidelTRAalWSAA............................................................................................................8 ExtraccinyvalidacindelTA................................................................................................10 RequerimientosdeloscertificadospertenecientesalosCOE.......................................................11
Introduccin
Propsito
ElsiguientedocumentodescribelosaspectostcnicosdelserviciodeAutenticaciny AutorizacindeWebServices(WSAA)pertenecientealaAFIP.Dichoservicioesnecesarioparaque EntesExternosalaAFIP(EE)accedanalosWebServicesdeNegocio(WSN)ofrecidosporlaAFIP.
DescripcinGeneraldelServicio
ElWSdeAutenticacinyAutorizacinesunservicioB2B(BusinesstoBusiness)quepermite queloscomputadorespertenecientesalaAFIPyEntesExternosalaAFIPintercambieninformacin enformadirectasinintervencindeoperadores.Endichatareaintervienenlossiguientes componentes:
Alusarespecificacionesyprotocolosestndares(PKI,XML,CMS,WSDLySOAP)elcliente puedeserdesarrolladoconcualquierlenguajedeprogramacinmoderno. ParaqueunEnteExternoalaAFIP(EE)estautorizadoausarunWSNdeAFIP,deber realizaruntramiteadministrativoprevio,cuyadescripcinestafueradelalcancedeestedocumento. Unavezfinalizadoexitosamentedichotrmite,elqueincluyeelaltadelosCEE,elEEquedar registradoenelserviciodeautorizacindeAFIPcomoentidadautorizadaparausarelWSN. ParaqueunCEEpuedautilizarefectivamenteunWSN,debersolicitarunTicketdeAcceso (TA)pormediodelWSdeAutenticacinyAutorizacin(WSAA).Dichorequerimientoserealiza medianteelenvideun"TicketdeRequerimientodeAcceso"(TRA)delCEEalWSAA,mediante mensajeraSOAP. ElWSAArealizalaverificacindelTRAysielrequerimientoescorrecto,devuelveunmensaje quecontieneelTAquehabilitaalCEEautilizarelWSNsolicitado.ElTAdeberserutilizadoporel CEEparaaccederalWSN. Enlaactualidad,losWebServicesdelaAFIP,noestnincluidosenunUDDI(Universal DescriptionDiscoveryIntegration)deaccesoexterno,porlotantoparaaccederalosserviciosque ofrecelaAFIP,esnecesarioutilizarWSDL(WebServicesDefinitionLanguage)segnlaURLdefinida porAFIP.ApartirdelWSDLelEEpuedeconstruirunCliente,parapoderconsumirelWSN correspondiente.
Entrminosgenerales,elpresentedocumentodetallalasoperacionesarealizarpara:
Referencias
Paramejorentendimientodelapresenteespecificacin,serecomiendaestarfamiliarizadocon lossiguientesestndares:
InvocacindelWSAA
SincronizacindeClocks
LafechayhoradelcomputadorquegeneraelTRAyrecibeelTAdeberestarsincronizada. DichasincronizacinsepodrrealizaratravsdelprotocoloNTPconelservidortime.afip.gov.aru otroservidorqueprestedichoservicio.
WSDLdelWSAA
Acontinuacin,seexponeelWSDLpertenecientealWSAA.Elmismoestardisponibleenuna URLpertenecientealaAFIP.Elqueseexponeperteneceaunequipodehomologacin.
FlujoPrincipal
AcontinuacinsedescribenlospasosquesedebernseguirparasolicitarunTAalWSAA. Cadaunodelospuntosesexplicadodetalladamenteenlosapartadossiguientes.
GeneracindeldocumentodelTRA(LoginTicketRequest.xml)
ElprimerpasoparasolicitarunTAespreparareldocumentodelTRA(denominado LoginTicketRequest.xml).SepuedeutilizarunaestructuraXMLyadefinidaquepuedeserobtenidade unarchivoexternoodeclaradacomoconstanteenelpropiocdigo.Elesquema(schema,XSD)que describedichoXMLeselsiguiente:
<?xmlversion="1.0"encoding="UTF8"?> <xsd:annotation> <xsd:schemaxmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:documentationxml:lang="es"> EsquemadeTicketdepedidodeaccesoaunWSN porpartedeunCEE. </xsd:documentation> </xsd:annotation> NrorevisionSVN:$Rev:1869$
<xsd:elementname="service"type="serviceType"minOccurs="1"maxOccurs="1"/> <xsd:attributename="version"type="xsd:decimal"use="optional"default="1.0"/> </xsd:complexType> <xsd:sequence> <xsd:complexTypename="headerType"> <xsd:elementname="source"type="xsd:string"minOccurs="0"maxOccurs="1"/> <xsd:elementname="destination"type="xsd:string"minOccurs="0"maxOccurs="1"/> <xsd:elementname="uniqueId"type="xsd:unsignedInt"minOccurs="1"maxOccurs="1"/> <xsd:elementname="generationTime"type="xsd:dateTime"minOccurs="1"maxOccurs="1"/> </xsd:sequence> <xsd:elementname="expirationTime"type="xsd:dateTime"minOccurs="1"maxOccurs="1"/> </xsd:complexType> <xsd:simpleTypename="serviceType"> <xsd:restrictionbase="xsd:string"> <xsd:patternvalue="[az,AZ][az,AZ,\,_,09]*"/> <xsd:minLengthvalue='3'/> </xsd:restriction> </xsd:simpleType> </xsd:schema> <xsd:maxLengthvalue='32'/>
Acontinuacinsedetallaladescripcindelosatributos.Losmismosdebenrespetarelformato definidoenelXSD:
source:Campoopcional.IndicaelDNdelcertificadoqueserutilizadoporWSAApara
"cn=wsaa,o=afip,c=ar,serialNumber=CUIT33693450239"paraelambientedeproducciny
CodificacinenBase64elTRA
ParapoderenviarelTRAalWSAA,elmismodebersercodificadoenBase64 (LoginTicketRequest.xml.cms.bse64)
EnvidelTRAalWSAA
SedebeinvocarelmtodoLoginCMSdelWSAA.Elmismorecibecomoparmetrounacadena correspondientealacodificacinenBase64delTRA(LoginTicketRequest.xml.cms.base64)ydevuelve unacadenadenominadaLoginTicketResponse.xml.DeestaltimasedeberextraerelTicketde Acceso(TA).
Cdigo coe.notAuthorized cms.bad cms.bad.base64 cms.cert.notFound cms.sign.invalid cms.cert.expired cms.cert.invalid cms.cert.untrusted xml.bad xml.source.invalid xml.destination.invalid xml.version.notSupported xml.generationTime.invalid xml.expirationTime.expired xml.expirationTime.invalid wsn.unavailable wsn.notFound wsaa.unavailable wsaa.internalError El CMS no es valido
Descripcin Computador no autorizado a acceder los servicio de AFIP No se puede decodificar el BASE64 No se ha encontrado certificado de firma en el CMS Firma invlida o algoritmo no soportado Certificado expirado Certificado con fecha de generacin posterior a la actual Certificado no emitido por AC de confianza No se ha podido interpretar el XML contra el SCHEMA El atributo 'source' no se corresponde con el DN del Certificad El atributo 'destination' no se corresponde con el DN del WSAA La versin del documento no es soportada El tiempo de generacin es posterior a la hora actual o posee ms de 24 horas de antigedad El tiempo de expiracin es inferior a la hora actual El tiempo de expiracin del documento es superior a 24 horas El servicio al que se desea acceder se encuentra momentneamente fuera de servicio Servicio informado inexistente El servicio de autenticacin/autorizacin se encuentra momentneamente fuera de servicio No se ha podido procesar el requerimiento
ExtraccinyvalidacindelTA
LoginTicketResponse.xmlesdescriptoenelsiguienteesquema(schema,XSD):
<?xmlversion="1.0"encoding="UTF8"?> <xsd:schemaxmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentationxml:lang="es"> WSNporpartedeunCEE </xsd:documentation> </xsd:annotation> <xsd:elementname="loginTicketResponse"type="loginTicketResponse"/> <xsd:complexTypename="loginTicketResponse"> <xsd:sequence>
EsquemadeTicketderespuestaalpedidodeaccesoaun NrorevisionSVN:$Rev:695$
Losdatosincluidossonlossiguientes:
Unejemploderespuestaalrequerimientoexpuestoanteriormenteeselsiguiente:
RequerimientosdeloscertificadospertenecientesalosCOE
LaautenticacindelosCEE,serealizaramediantecertificadosX.509v3.Losmismosdebern cumplirconlossiguientesrequerimientos: