<?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>Maker Portal &#187; Nota Fiscal Eletrônica</title>
	<atom:link href="http://www.makerportal.com.br/category/nota-fiscal-eletronica/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.makerportal.com.br</link>
	<description></description>
	<lastBuildDate>Wed, 08 Sep 2010 19:05:24 +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>Utilize a função append ao invés de concatenação</title>
		<link>http://www.makerportal.com.br/utilize-a-funcao-append-ao-inves-de-concatenacao/</link>
		<comments>http://www.makerportal.com.br/utilize-a-funcao-append-ao-inves-de-concatenacao/#comments</comments>
		<pubDate>Tue, 25 May 2010 03:01:21 +0000</pubDate>
		<dc:creator>Alex Santos</dc:creator>
				<category><![CDATA[Funções API]]></category>
		<category><![CDATA[Nota Fiscal Eletrônica]]></category>
		<category><![CDATA[append]]></category>
		<category><![CDATA[concatenacao]]></category>
		<category><![CDATA[nfe]]></category>

		<guid isPermaLink="false">http://www.makerportal.com.br/?p=456</guid>
		<description><![CDATA[O uso abusivo da função concatenação nos fluxos, pode ocasionar lentidão ou erros como &#8220;Out of memory&#8221; no sistema.
Esta função carrega a soma de string na memória e só retira de lá quando o processo morre, com isso temos  que tomar certos cuidados no uso desta função em fluxos grandes e complexos.
Para evitar estes tipos [...]]]></description>
			<content:encoded><![CDATA[<p>O uso abusivo da função concatenação nos fluxos, pode ocasionar <strong>lentidão</strong> ou erros como<strong> &#8220;Out of memory&#8221; </strong>no sistema.</p>
<p>Esta função carrega a soma de string na memória e só retira de lá quando o processo morre, com isso temos  que tomar certos cuidados no uso desta função em fluxos grandes e complexos.</p>
<p><span id="more-456"></span>Para evitar estes tipos de problemas, podemos substituir a função &#8220;Concatenação&#8221; pela função &#8220;Append&#8221;</p>
<p><strong>Função Append:</strong></p>
<p><a href="http://www.makerportal.com.br/wp-content/uploads/2010/05/append.jpg" rel="shadowbox[post-456];player=img;"><img class="alignleft size-full wp-image-457" title="append" src="http://www.makerportal.com.br/wp-content/uploads/2010/05/append.jpg" alt="append" width="166" height="165" /></a>Junta vários itens de texto em apenas um item.</p>
<p>Parâmetros:<br />
1. Valor que terá outros valores adicionados<br />
2. Valor que será concatenado junto ao texto do primeiro parâmetro.<br />
&#8230;<br />
N. Valor n a ser adicionado.</p>
<p>Retorno:  Retorna o valor concatenado.</p>
<p>Em termo de usabilidade, ela difere da função &#8220;Concatenação&#8221;, veja abaixo:</p>
<p>Exemplo: Para acumular uma variável com a função concatenação, faríamos:</p>
<p><a href="http://www.makerportal.com.br/wp-content/uploads/2010/05/concatenaçao.jpg" rel="shadowbox[post-456];player=img;"><img class="alignnone size-medium wp-image-461" title="concatenaçao" src="http://www.makerportal.com.br/wp-content/uploads/2010/05/concatenaçao-300x151.jpg" alt="concatenaçao" width="300" height="151" /></a></p>
<p>Já na função Append, não precisa ser atribuído a nenhuma variável, pois ela acumula  na variável que estiver no primeiro parâmetro, veja:</p>
<p><a href="http://www.makerportal.com.br/wp-content/uploads/2010/05/append2.jpg" rel="shadowbox[post-456];player=img;"><img class="alignnone size-medium wp-image-462" title="append2" src="http://www.makerportal.com.br/wp-content/uploads/2010/05/append2-300x143.jpg" alt="append2" width="300" height="143" /></a></p>
<p><strong>Atenção: É indispensável o uso desta função(Append) no desenvolvimento de sistema de nota fiscal eletrônica (NFe), pois faz muitas somas de strings para criação dos XMLs.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.makerportal.com.br/utilize-a-funcao-append-ao-inves-de-concatenacao/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nota Fiscal Eletrônica &#8211; Como criar o keystore</title>
		<link>http://www.makerportal.com.br/nota-fiscal-eletronica-como-criar-o-keystore/</link>
		<comments>http://www.makerportal.com.br/nota-fiscal-eletronica-como-criar-o-keystore/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 19:31:30 +0000</pubDate>
		<dc:creator>Márcio Saeger</dc:creator>
				<category><![CDATA[Maker]]></category>
		<category><![CDATA[Nota Fiscal Eletrônica]]></category>
		<category><![CDATA[certificado]]></category>
		<category><![CDATA[comunicacao]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[nfe]]></category>
		<category><![CDATA[sefaz]]></category>
		<category><![CDATA[Webrun]]></category>

		<guid isPermaLink="false">http://www.makerportal.com.br/?p=361</guid>
		<description><![CDATA[Quando estamos desenvolvendo o módulo de NFe, a maior dificuldade que os usuários encontram é a criação do arquivo keystore.
A Softwell liberou um conjunto de funções &#8220;facilitadoras&#8221; de Nota Fiscal Eletrônica apesar de não dar suporte &#8211; o que faz sentido, pois não óferece suporte a regras de negócio &#8211; nós desenvolvedores encontramos muitas dificuldades [...]]]></description>
			<content:encoded><![CDATA[<p>Quando estamos desenvolvendo o módulo de NFe, a maior dificuldade que os usuários encontram é a criação do arquivo keystore.<br />
A Softwell liberou um conjunto de funções &#8220;facilitadoras&#8221; de Nota Fiscal Eletrônica apesar de não dar suporte &#8211; o que faz sentido, pois não óferece suporte a regras de negócio &#8211; nós desenvolvedores encontramos muitas dificuldades na hora da realização do envio das notas.<span id="more-361"></span></p>
<p>Basicamente, para o envio de notas fiscais, precisamos apenas das funcoes:<br />
-Chamar serviço WEB com Certificado Digital (Consumo de WebServices seguros)<br />
-Assinar XML (Para assinar os arquivos XML que são enviados)<br />
-Instalar certificado para comunicação HTTPS</p>
<p>Os parâmetros de entrada da função &#8220;Chamar serviço WEB com certificado digital&#8221; requer um arquivo keystore e sua senha.<br />
Mas afinal, o que é este arquivo e do que ele é composto?</p>
<p>O arquivo keystore funciona como um arquivo banco de dados que contém os certificados que estarão envolvidos na comunicação com a Sefaz. Quem são os envolvidos?<br />
1) A empresa que está enviando a nota<br />
2) A autoridade certificadora (Quem emitiu o certificado da empresa (Ex: Serasa))<br />
3) O Servidor da SEFAZ</p>
<p>Então precisamos basicamente de 3 certificados dentro do keystore: Da empresa, da autoridade certificadora e do servidor da sefaz.<br />
Os certificados que devem ser importados no arquivo keystore devem estar no padrão DER encoded binary X.509 (Extensão .CER).</p>
<p>Para obter o certificado de sua empresa  e da autoridade certificadora no formato .CER:<br />
-Você deve possuir o arquivo .PFX (Certificado digital da sua empresa). Possuindo este arquivo, dê um duplo-clique para importa-lo no sistema operacional. Basta dar &#8220;Next Next Next&#8221; e preencher a senha quando necessário. Após isto, o certificado estará disponível no Internet Explorer. (Caso seja solicitada a senha do seu arquivo .PFX, preencha-o.)<br />
-Agora que o arquivo .PFX está importado, vamos gerar o certificado no formato .CER, abra o Internet Explorer, vá em Ferramentas -&gt; Opções da Internet. Vá a aba &#8220;Conteúdo&#8221;. Clique no botão &#8220;Certificados&#8221;.<br />
Observe que estará disponível na aba &#8220;Personal&#8221; o certificado de sua empresa. Selecione ela e clique no botão &#8220;Export&#8230;&#8221; e então dê &#8220;Next Next Next&#8221;. Guarde o arquivo .CER num diretório qualquer mas lembre-se dele, pois utilizaremos novamente. Para este exemplo, considerarei o diretório C:/<br />
-O certificado da autoridade certificadora está disponível nesta mesma tela de certificados, entretanto, na aba de &#8220;Intermediate Certification Authorities&#8221;. No caso do serasa, são 2 certificados. Exporte os 2 e salve no mesmo diretório</p>
<p>Para obter o certificado do servidor da sefaz no formato .CER:<br />
-Acesse a URL do webservice (utilizando o IE) de recepcao de notas fiscais  referente ao estado onde serão enviadas as notas. (Lembre-se que empresas apenas enviam notas para o seu estado).<br />
-Após acessar, existe um &#8220;cadeado&#8221; indicando que é um site seguro. Dê um duplo-clique nele e exporte o certificado do site. Novamente escolha o formato .CER e salve em um diretório qualquer do seu computador.</p>
<p>Agora que você já possui os certificados, você já está preparado para criar o seu arquivo .keystore<br />
Para geração deste arquivos utilizaremos a ferramenta KeyTool (É uma ferramenta gratuita disponível em qualquer JDK).<br />
Você pode inclusive utilizar a JDK que é instalada junto com o Webrun no diretório:<br />
C:\Arquivos de Programas\Softwell Solutions\Maker 2.5\Webrun 2\java\bin\keytool.exe<br />
Abra o promt de comando e se dirija até o diretório acima (bin).<br />
Vamos primeiramente criar o arquivo keystore. Para isto, digite o comando:<br />
keytool.exe -genkey -keystore nome.keystore -alias nomeDoProjeto -keypass senha<br />
Ex: C:\Program Files (x86)\Softwell Solutions\Maker 2.5\Webrun 2\java\bin&gt;keytool.ex<br />
e -genkey -keystore certificado.keystore -alias nfe -keypass teste123</p>
<p>Após isto, serão feitas algumas perguntas, preencha de acordo com os dados de sua empresa. Exemplo:</p>
<p>Enter keystore password:  teste123<br />
What is your first and last name?<br />
[Unknown]:  Márcio Saeger<br />
What is the name of your organizational unit?<br />
[Unknown]:  MakerPortal Informática Ltda<br />
What is the name of your organization?<br />
[Unknown]:  MakerPortal Informática Ltda<br />
What is the name of your City or Locality?<br />
[Unknown]:  Salvador<br />
What is the name of your State or Province?<br />
[Unknown]:  Bahia<br />
What is the two-letter country code for this unit?<br />
[Unknown]:  BR<br />
Is CN=Márcio Saeger, OU=MakerPortal Informática Ltda, O=MakerPortal Informática<br />
Ltda, L=Salvador, ST=Bahia, C=BR correct?<br />
[no]:  yes<br />
C:\Program Files (x86)\Softwell Solutions\Maker 2.5\Webrun 2\java\bin&gt;</p>
<p>Pronto. Seu arquivo .keystore está criado. O arquivo foi gerado no diretório do keytool. Copie-o para o diretório C:/ onde estão os arquivos de certificados .CER para facilitar na importação.<br />
Agora devemos importar os certificados (.cer) no arquivo keystore. Vamos fazer através do comando:<br />
keytool.exe -import -trustcacerts -alias nome -file C:\certificado1.cer -keystore c:\certificado.keystore</p>
<p>Observe que: após o parâmetro -alias devemos especificar um nome para o certificado que estamos importanto. Apenas tenha certeza de colocar um nome diferente para cada arquivo .CER que você for importar. Para ser franco, o nome que voce irá escolher pouco importa. No meu caso importo com nomes: c1, c2, c3 etc..</p>
<p>Exemplo de uso do comando:<br />
keytool.exe -import -trustcacerts -alias serasa1 -file C:\serasaV1.cer -keystore C:\certs.keystore<br />
keytool.exe -import -trustcacerts -alias serasa2 -file C:\serasaV2.cer -keystore C:\certs.keystore<br />
keytool.exe -import -trustcacerts -alias sefazServer -file C:\sefazServer.cer -keystore C:\certs.keystore<br />
keytool.exe -import -trustcacerts -alias makerportal -file C:\makerportal.cer -keystore C:\certs.keystore</p>
<p>Ao efetuar cada importação, poderá ser exibido um resumo sobre o certificado no console e perguntado se você tem certeza que gostaria de improtar tal certificado para o arquivo keystore. Basta apenas confirmar, digitando yes.<br />
Ao termino da importação dos certificados, seu arquivo já está pronto para ser utilizado nos WebServices da Sefaz. Basta informar como parâmetro de entrada da função o caminho do arquivo .keystore e sua senha. <img src='http://www.makerportal.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
PS: Não esqueça de previamente instalar o certificado .keystore no browser através da função &#8220;Instalar certificado para comunicação HTTPS&#8221;. Este passo só é necessário apenas uma única vez por browser.</p>
<p>Espero ter desmistificado um pouco quanto ao arquivo keystore. Este é apenas um único detalhe da imensidão de um sistema de Nota Fiscal Eletrônica <img src='http://www.makerportal.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Dúvidas!? Utilize o nosso <a title="Fórum Maker Portal" href="http://forum.makerportal.com.br" target="_blank" onclick="pageTracker._trackPageview('/outgoing/forum.makerportal.com.br?referer=');">fórum</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makerportal.com.br/nota-fiscal-eletronica-como-criar-o-keystore/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
