Assinando digitalmente aplicativo JAVA com CA Windows

O Objetivo deste post é demonstrar como realizar a assinatura de um aplicativo JAVA utilizando uma Autoridade Certificadora (CA) Windows.

Motivação

Em um ambiente corporativo com infraestrutura de domínio e Active Directory já existe uma autoridade certificadora e todos os membros do domínio já confiam nos certificados assinados por esta CA. Desta forma facilita o trabalho de publicação do aplicativo e confiança da assinatura digital deste.

Leia mais

Criando CAPTCHA com C#

CAPTCHA é um acrônimo da expressão “Completely Automated Public Turing test to tell Computers and Humans Apart” (teste de Turing público completamente automatizado para diferenciação entre computadores e humanos): um teste de desafio cognitivo, utilizado como ferramenta anti-spam evitando que aplicativos automatizados realize post em formulários sem uma interação humana.

Um tipo comum de CAPTCHA requer que o usuário identifique as letras de uma imagem distorcida, às vezes com a adição de uma sequência obscurecida das letras ou dos dígitos que apareça na tela.

Tendo como base essa descrição retirada do Wikipédia (http://pt.wikipedia.org/wiki/CAPTCHA), irei demonstrar como implementar um CAPTCHA utilizando C#.

Este código gera o CAPTCHA conforme os exemplos abaixo

Leia mais

Convertendo relatório Zenmap (nmap) para Excel com C#

O objetivo deste aplicativo é converter o arquivo gerado pelo Zenmap (Nmap) para uma planilha do excel.

O Aplicativo tem como entrada o arquivo XML do zenmap e gera um arquivo XML com um padrão reconhecido pelo Excel.

Método de utilização:

ZenNmapToExcel.exe [arquivo_zennmap.xml]

Segue o aplicativo compilado bem como o código fonte em C# ZenmapToExcel.

Utilizando XML-RPC com C#

Introdução

O XML-RPC é um protocolo de chamada de procedimento remoto (RPC) que utiliza XML para codificar suas chamadas e HTTP como um mecanismo de transporte.

É um protocolo simples, definido com poucas linhas de códigos em oposição com a maioria dos sistemas de RPC, onde os documentos padrões são freqüentemente com milhares de páginas e exige apoio de softwares para serem usados. Fonte: http://pt.wikipedia.org/wiki/XML-RPC

O XML-RPC é um protocolo criado em 1989 por Dave Winer na UserLand Software. Ele é o protocolo de WebService utilizado por diversos sistemas. Atualmente ele não é o padrão recomendado para implementações de  soluções WebService, sendo o SOAP 1.2 o padrão.

Para maiores informações sobre o SOAP 1.2 recomendo a leitura da sua especificação no W3C disponível em http://www.w3.org/TR/soap/ e do livro Programming Web Services with SOAP de Doug Tidwell, James Snell e Pavel Kulchenko (O’Reilly).

Buscando um pouco na internet encontrei uma biblioteca de XML-RPC para C#, porém achei pouca informação sobre como utilizá-la e explorar todas suas possibilidades. Desta forma resolvi criar este post para quem está iniciando neste mundo de WebService.

Para quem deseja se aprofundar  no protocolo XML-RPC recomento a leitura do livro Programming Web Services with XMLRPC de Simon St. Laurent, Joe Johnston e Edd Dumbill (O’Reilly).

Leia mais

Verificando se um certificado é valido para atuar como uma autoridade certificadora (CA)

No campo Basic Constraints (Restições básicas) dentro do campo Extensions (Extensões) do certificado digital é necessário haver algumas informações para que este possa atuar como uma CA, ou seja, assinar novos certificados.

Para poder visualizar esta informação é necessário ter o certificado X.509, desta forma se o único certificado que temos é o PKCS#12 é preciso extrair dele o certificado X.509.

Leia mais