Projeto: Plataforma de Integração. Data: 01/08/2014



Documentos relacionados
18/04/2006 Micropagamento F2b Web Services Web rev 00

SERVIÇO CONTRATO Especificação das operações de Serviço

Introdução a Web Services

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

UFG - Instituto de Informática

Kassius Vargas Prestes

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

UNIVERSIDADE. Sistemas Distribuídos

11/20/10. Resoluções: Teste de Áudio. Não suporto esses malucos de TI. Só inventam despesas. Não acredito que teremos que pagar por mais softwares.

SERVIÇO CONTRATO. Especificação das operações de Serviço MANUAL DO USUÁRIO CONSULTAR CONTRATO. Projeto: Plataforma de Integração.

Web Services. (Introdução)

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

ANEXO V Edital nº 03508/2008

MINISTÉRIO DA CULTURA

Webservices. O que é um web service? Características. Por que web services? Tipos de web services

Serviços Web: Arquitetura

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Microsoft.NET. Desenvolvimento Baseado em Componentes

Sistema Pamcard - Contrato de Frete Especificação de Integração. Contrato de Frete

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

Projeto Integrador Segurança de Redes e Transmissão de Dados

Service Oriented Architecture SOA

APF Autocredenciamento de Pessoa Física no Sisbacen

XHTML 1.0 DTDs e Validação

Sistema Nacional de Registro de Hóspedes - SNRHos. PGTUR Plataforma de Gestão do Turismo Manual Técnico de Utilização do Web Service Versão 1.

A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI.

Integração de sistemas utilizando Web Services do tipo REST

tecnologias web e gestão de identidade

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 13

Rede de Computadores (REC)

Web. Professor: Rodrigo Alves Sarmento

Web Service de Distribuição de DF-e de Interesse dos Atores do MDF-e (PF ou PJ)

Consultar Tabelas Administrativas

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL

SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE SERVIDOR WEB - APACHE 27/02/2012

Serviços Web: Introdução

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Sistemas Distribuídos

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

API SEBRAE. Versão 1.1

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

A autoria - II. A autoria - II. Tecnologias básicas da Web. A autoria - II Wilson de Pádua Paula Filho. Tópicos:

Web Service - NFS-e. Definição das especificações e critérios técnicos necessários para utilização do WebService. FREIRE INFORMÁTICA Versão 2.

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

3 Serviços na Web (Web services)

Manual de Consulta Web Service Consulta ao SCR para Instituições Financeiras

Sistema Protocolo Integrado Manual de Integração ao Web Service

Protocolo Integrado. Manual do Cliente Web Service. Manual com a descrição do Cliente Web Service do Protocolo Integrado.

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

Domínios. Domínios Mundiais Usado para atividades comerciais. Usado em instituições sem fins lucrativos. Usado para nomes pessoais.

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ TABELIÃO INTERFACE ADMINISTRATIVA MANUAL DE PRODUÇÃO

Renovação do certificado A1

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Camada de Aplicação. Prof. Eduardo

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Ministério da Agricultura, Pecuária e Abastecimento. SPARK - Comunicador Instantâneo MANUAL DO USUÁRIO

Departamento de Informática

Nota Fiscal Eletrônica Manual de Integração. v1.4

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Web Services. Autor: Rômulo Rosa Furtado

QUESTÕES PROVA 2 (28 a 44)

Programação para Web

Introdução à Camada de Aplicação. Prof. Eduardo

Programação Cliente em Sistemas Web

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Manual Técnico de Utilização do Web Service de Administração do Código de Segurança do Contribuinte - CSC

Tecnologias Java para Implementação de NF e Edilmar Alves Novembro/2008 edilmaralves@intersite.com.br

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

ITBI ONLINE MANUAL DE INTEGRAÇÃO

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Webservices no padrão TISS

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

Informática Documental 2. Documental 2

PORTARIA DETRAN/RS N. 461, DE 22 DE NOVEMBRO DE 2013 (DOE )

Criando Web Services. Palestrante: Daniel Destro do Carmo

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

Desenvolvimento Web TCC Turma A-1

Arquiteturas, Padrões e Serviços para Geoprocessamento. Lúbia Vinhas 13/05/2008

Parâmetros de Utilização e Manutenção das Mensagens do Informa Online Maio 2007

PROCEDIMENTOS PARA ENVIO DOS DADOS HIDROLÓGICOS EM TEMPO REAL DAS ESTAÇÕES TELEMÉTRICAS

Introdução a Web Services

JULIO CESAR DE SOUZA SINCRONIZAÇÃO DE DADOS EM DISPOSITIVOS MÓVEIS UTILIZANDO WEB SERVICES

Laboratório de Programação

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

Transcrição:

Manual do Usuário - Autenticação Plataforma de Integração Arquitetura de Software 1.0 20/03/2014 1 de 8

Histórico de Revisões Data Versão Descrição 01/08/2014 1.0 Criação do documento 04/08/2014 1.1 Revisão Arquitetura de Software 1.0 20/03/2014 2 de 8

Índice 1. INTRODUÇÃO... 4 2. REQUISITOS DE SEGURANÇA... 4 2.1. AUTENTICAÇÃO SSL... 4 2.1.1. WS-SECURITY... 6 3. CONCLUSÃO... 7 4. ABREVIAÇÕES, SIGLAS E ACRÔNIMOS... 8 5. REFERÊNCIAS... 8 Arquitetura de Software 1.0 20/03/2014 3 de 8

1. Introdução Este documento tem como objetivo apresentar um guia para conexão e autenticação à Plataforma de Integração da CCEE. A Plataforma de Integração é baseada na troca de mensagens entre sistemas, utilizando a tecnologia web services SOAP. Para cada operação, as mensagens devem ser enviadas em conformidade com o documento WSDL específico. Além disso, os padrões de segurança estabelecidos pela CCEE devem ser observados, a saber: HTTPS com autenticação SSL mútua (2-way SSL) WS-Security com UsernameToken 2. Requisitos de segurança Para garantir a integridade e segurança das transações enviadas para os web services da CCEE, o cliente deverá se preocupar com dois aspectos: a autenticação SSL mútua e a aplicação do WS-Security header na mensagem SOAP. 2.1. Autenticação SSL O primeiro nível de segurança é aplicado no momento em que a comunicação entre o servidor do cliente e o servidor da Plataforma de Integração da CCEE. A transmissão é feita sobre o protocolo HTTPS, e uma autenticação SSL mútua é obrigatória. Isto significa que o cliente, no momento em que decide se comunicar com a CCEE, deve: Verificar e confiar no certificado público apresentado pelo servidor CCEE; Apresentar um certificado privado, sendo que a chave pública desse certificado foi previamente enviada à CCEE. O certificado público do cliente, uma vez enviado à CCEE, é instalado nos servidores da Plataforma de Integração e será usado para validar se o certificado privado apresentado pelo cliente é o mesmo que está habilitado no lado da CCEE. Somente após a verificação e troca dos certificados a conexão HTTPS será estabelecida. A figura abaixo descreve como a autenticação mútua SSL ocorre: Arquitetura de Software 1.0 20/03/2014 4 de 8

Figura 1 - Autenticação mútua SSL A maneira como cada linguagem de programação ou software implementa soluções em SSL para o estabelecimento da conexão HTTPS irá variar. Para um melhor entendimento conceitual sobre o tema, recomendamos a leitura da especificação oficial do protocolo: http://tools.ietf.org/html/rfc2818 - Mais informações em como programar uma comunicação SSL com uma determinada linguagem poderão facilmente encontradas na internet. Arquitetura de Software 1.0 20/03/2014 CCEE-MDS Metodologia de Desenvolvimento de Soluções Versão Data Publicação 5 de 8 Páginas

2.1.1. WS-Security Web Services Security (também conhecido como WS-Security ou WSS), é uma especificação oficial para Web Services, sendo o padrão para aplicação de padrões de segurança em mensagens SOAP. A especificação do WSS é publicada pela OASIS (Organization for the Advancement of Structured Information Standards). A feature adotada pela CCEE, dentro do WSS, será o UsernameToken. Isto significa que, em cada mensagem SOAP enviada para a CCEE, o cliente deverá apresentar uma credencial (usuário e senha), que serão adicionados aos elementos seguindo o padrão WSS. A transação só será aceita pela plataforma de Integração após a validação destas credenciais. O exemplo abaixo mostra os elementos de WS-Security contendo o UsernameToken: <wsse:security soapenv:mustunderstand = "0" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:usernametoken wsu:id = "UsernameToken-1"> <wsse:username>usuario123</wsse:username> <wsse:password Type = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tokenprofile-1.0#passwordtext">senha123</wsse:password> </wsse:usernametoken> </wsse:security> Figura 2 - Os elementos do WS-Security com UsernameToken Considerando a operação helloworld presente no web service PingService (mais detalhes sobre o serviço mais adiante), a mensagem de request ficaria assim (adicionando o UsernameToken): <soapenv:envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mes = "http://integration.ccee.org.br/ws/common/messageheader" xmlns:hel = "http://integration.ccee.org.br/ws/operation/helloworld"> <soapenv:header> <wsse:security soapenv:mustunderstand = "0" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:usernametoken wsu:id = "UsernameToken-1"> <wsse:username>usuario123</wsse:username> <wsse:password Type = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-tokenprofile-1.0#passwordtext">senha123</wsse:password> </wsse:usernametoken> </wsse:security> <mes:messageheader> <mes:codigoperfilagente >1234</mes:codigoPerfilAgente > </mes:messageheader> </soapenv:header> <soapenv:body> <hel:helloworld> <hel:nome>meu Nome</hel:nome> </hel:helloworld> Arquitetura de Software 1.0 20/03/2014 6 de 8

</soapenv:body> </soapenv:envelope> Figura 3 - Mensagem SOAP com o WS-Security Header e UsernameToken Para ler a especificação oficial desta biblioteca, acesse o site da OASIS com a definição do WS-Security com UsernameToken: https://www.oasis-open.org/committees/download.php/13392/wss-v1.1-spec-pr- UsernameTokenProfile-01.htm 3. Conclusão Após o estabelecimento da conexão segura SSL e do envio da mensagem com as credenciais de acesso, a Plataforma de Integração validará as credenciais informadas e também se o certificado utilizado para estabelecer a conexão é válido e pertence ao cliente que efetuou a conexão. Em caso positivo, a mensagem será consumida. Caso contrário, a mensagem será rejeitada. Concluímos então que para utilização dos serviços disponíveis na Plataforma de Integração, é necessário estabelecer a conexão segura SSL entre os servidores e enviar as credenciais de acesso à Plataforma de Integração em cada mensagem trocada. Arquitetura de Software 1.0 20/03/2014 7 de 8

4. Abreviações, siglas e acrônimos Sigla XML SOAP WSDL XSD CCEE HTTPS SSL URL JDK WSS JKS HTML JAR IDE Definição extensible Markup Language Simple Object Access Protocol Web Service Description Language Xml Schema Definition Câmara de Comercialização de Energia Elétrica HyperText Transfer Protocol Secure Secure Sockets Layer Uniform Resource Locator Java Development Kit Web Service Security Java Keystore HyperText Markup Language Java ARchive Integrated Development Environment 5. Referências Sigla Apache Axis 1.x, 2.x HTTP SOAP 1.1 WSDL 1.1 Definição http://ws.apache.org/axis/ http://www.w3.org/protocols/rfc2616/rfc2616.htm http://www.w3.org/tr/2000/note-soap-20000508/ http://www.w3.org/tr/2001/note-wsdl-20010315 Web Services Security 1.0 http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=wss XML 1.1 XML Schema 1.1 XML Schema Definition SSL HTTPS http://www.w3.org/tr/xml11/ http://www.w3.org/xml/schema http://www.w3.org/2001/xmlschema.xsd http://www.ssl.com/ http://tools.ietf.org/html/rfc2818 Arquitetura de Software 1.0 20/03/2014 8 de 8