<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Opensocial-BR GTUG &#187; signed request java</title>
	<atom:link href="http://www.opensocial-br.org/tag/signed-request-java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.opensocial-br.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 26 Jul 2010 15:29:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OAuth signature invalid Exception &#8211; OAuth Signed request &#8211; Codigo Java</title>
		<link>http://www.opensocial-br.org/oauth-signature-invalid-exception-oauth-signed-request-codigo-java/</link>
		<comments>http://www.opensocial-br.org/oauth-signature-invalid-exception-oauth-signed-request-codigo-java/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:51:00 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Signed Request]]></category>
		<category><![CDATA[oauth java]]></category>
		<category><![CDATA[opensocial java]]></category>
		<category><![CDATA[signed request java]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=14</guid>
		<description><![CDATA[Talvez essa seja a área que apresente mais problemas no processo de comunicação do container Opensocial com seu aplicativo serverside, escrito em uma linguagem qualquer  - Java, PHP, Python, etc ...
O processo de signed request (requests assinados digitalmente), consiste em garantir que somente o container possa enviar requisições para o seu servidor. Dessa forma, usuários [...]]]></description>
			<content:encoded><![CDATA[<p>Talvez essa seja a área que apresente mais problemas no processo de comunicação do container Opensocial com seu aplicativo serverside, escrito em uma linguagem qualquer  - Java, PHP, Python, etc ...</p>
<p>O processo de signed request (requests assinados digitalmente), consiste em garantir que <strong><em>somente </em></strong>o container possa enviar requisições para o seu servidor. Dessa forma, usuários mal intencionados não podem forjar uma requisição e transmiti-la ao seu servidor.<span id="more-14"></span></p>
<p>Não se trata de firewall, e sim de um mecanismo de criptografia de dados entre os servidores, onde somente quem conhece a chave, pode decriptar a mensagem.</p>
<p>O processo, de uma forma bem sucinta, funciona assim:</p>
<ul>
<li>Há duas chaves de criptografia:  uma pública e uma privada. A pública, o container entrega ao servidor de destino para decriptar a mensagem, e a privada, ele usa para encriptar as mensagens;</li>
<li>Ao gerar uma requisição HTTP - POST, por exemplo, o container gera uma assinatura e encripta todo o conteúdo;</li>
<li>O servidor, usando a assinatura e a chave pública, decripta a mensagem;</li>
</ul>
<p>Implementações, nas mais diversas linguagens, podem ser encontradas em: <a href="http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests">http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests</a></p>
<p>Só há um porém: A versão Java possui um bug na biblioteca que foi referenciada. Depois de muito debugar por aqui, acabei achando o problema - relacionado a encoding. Para resolver o problema, basta usar uma biblioteca alternativa, criada pelo próprio pessoal do Opensocial. Mais detalhes em: <a href="http://code.google.com/p/opensocial-java-client/">http://code.google.com/p/opensocial-java-client/</a></p>
<p>Um abraço e até a próxima</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/oauth-signature-invalid-exception-oauth-signed-request-codigo-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
