quarta-feira, 22 de julho de 2009

O Google Chrome OS e a comunidade

Tradução do artigo original da LWN, de Jonathan Cobert:

“No dia 7 de julho, o Google contou ao mundo sobre um projeto chamado “Google Chrome OS”. É um novo sistema operacional, feito para rodar (a princípio) em netbooks. Como era de se esperar do Google, vai haver uma forte ênfase em aplicativos web; parece que o Google vem trabalhando bastante em uma inicialização rápida, na segurança e em uma interface de usuário simplificada. O Google promete abrir o código lá para o fim do ano; espera-se a comercialização do produto para o segundo semestre de 2010. A maior parte da imprensa vê o Chrome OS como um ataque direto à Microsoft, e é provável que seja mesmo.
Por Jonathan Corbet”

Publicado originalmente no: lwn.net

terça-feira, 14 de julho de 2009

Instalando um certificado SSL

As vezes, procuramos por coisas simples, executamos, testamos, produzimos e, "largamos" o recém-adquirido conhecimento em algum canto obscuro de nossa mente, que pelo pouco uso, é abandonado de vez pelo cérebro... e aqui estava eu a procurar novamente como importar um Certificado, colocar uma keypass (password) para abrir, fazer o handshaking e estabelecer a confiança entre as partes; bom, agora postei aqui pro meu consumo e de outros que tenham a mesma necessidade. Primeiro, alguém fornece um P7B, de onde você teria que extrair os *.cer, ou simplesmente já recebemos o certificado, ou ainda baixamos diretamente, clicando no tal cadeado que aparece nos navegadores, quando acessamos uma URI via HTTPS. Você também pode adquirir um Certificado SSL de uma certificadora como Verisign ou Thawte ou ACRB, Serasa, etc. Essas empresas oferecem excelentes documentações e instruções sobre como instalar o certificado em seu website... mas, as vezes acontece algo diferente, e nesse quesito, taí uma coisa chata pra se lidar: JCE.

Podemos ter uma importação pura e simples de um certificado, onde somente a chave pública é enviada ao servidor; no exemplo abaixo, procedimento para a importação de um certificado emitido pelo SERASA:
keytool -import -alias serasa -file serasa.cer

Será requisitado que você entre com uma password... essa password será a chave privada da keystore; ele só servirá para abrir o certificado do SERASA, onde contém a chave pública.

Enter keystore password:
Re-enter new password:

Quando aparecer "Trust this certificate? [no]:", escreva yes; após a password e o yes, ele mostrará qual chain root foi importada...

Owner: CN=Autoridade Certificadora Raiz Brasileira, ST=DF, L=Brasilia, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR
Issuer: CN=Autoridade Certificadora Raiz Brasileira, ST=DF, L=Brasilia, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR
Serial number: 4
Valid from: Fri Nov 30 10:58:00 BRST 2001 until: Wed Nov 30 21:59:00 BRST 2011
Certificate fingerprints:
MD5: 96:89:7D:61:D1:55:2B:27:E2:5A:39:B4:2A:6C:44:6F
SHA1: 8E:FD:CA:BC:93:E6:1E:92:5D:4D:1D:ED:18:1A:43:20:A4:67:A1:39
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
Key_CertSign
Crl_Sign
#2: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 8A FA F1 57 84 11 13 35 90 42 FA 57 49 54 69 0D ...W...5.B.WITi.
0010: A4 C4 F0 37 ...7
#4: ObjectId: 2.5.29.31 Criticality=false
CRLDistributionPoints [
[DistributionPoint:
[URIName: http://acraiz.icpbrasil.gov.br/LCRacraiz.crl]
#5: ObjectId: 2.5.29.32 Criticality=false
CertificatePolicies [
[CertificatePolicyId: [2.16.76.1.1.0]
[PolicyQualifierInfo: [
qualifierID: 1.3.6.1.5.5.7.2.1
qualifier: 0000: 16 2C 68 74 74 70 3A 2F 2F 61 63 72 61 69 7A 2E .,http://acraiz.
0010: 69 63 70 62 72 61 73 69 6C 2E 67 6F 76 2E 62 72 icpbrasil.gov.br
0020: 2F 44 50 43 61 63 72 61 69 7A 2E 70 64 66 /DPCacraiz.pdf
]] ]

Trust this certificate? [no]: yes
Certificate was added to keystore

Para listar a chave importada...

keytool -list

Será requisitada a password e posterior listagem... neste ponto, a keystore se encontra em $HOME/.keystore

Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
serasa, 18/02/2008, trustedCertEntry,
Certificate fingerprint (MD5): 96:89:7D:61:D1:55:2B:27:E2:5A:39:B4:2A:6C:44:6F

Melhor renomear o arquivo .keystore para um nome que se entenda... como:

mv ../../.keystore serasa.jks

Usaremos então como keystore, serasa.jks

Dica: No Windows a keystore fica armazena no userdir, e.g., C:\Documents and Settings\ccsilva.

Mais tem um detalhe...

Obviamente você já deve ter percebido que precisará da senha da keystore, criptografada, para depois abrir o certificado e retirar a assinatura; ela não pode aparecer em plain-text e normalmente vai numa tag de properties, como abaixo:

user.jks=gHUrtR3FCQbigUmFOY/eXKxOtcajYEhp+g==RO6SyDLaAQ==

Então, se procurar no Google, vai ser uma tristeza, pois se deparará com um monte de códigos, e outras tantas coisas "jogado ao céu" e, tudo fica complicado... e era para criptografar uma senha somente, não se preocupe, você somente vai precisar de um pequeno aplicativo, disponível aqui (cortesia do Marcelo Torres). Depois descompacte e execute:

$ java -jar criptografia.jar

Agora use copy/paste e faça bom uso da senha criptografada...
Obviamente, quem leu até aqui, irá perceber que precisa de algum
conhecimento adquirido, para enfim, fazer bom uso do post, práticoe sintético.

sexta-feira, 10 de julho de 2009

Instalando o Pronto! Gerenciador de Projetos Ágeis

Depois que um amigo me falou do Pronto! para ajudar na infraestrutura do workflow do SCRUM, fui imediatamente baixá-lo, mas o projeto ainda se encontra num "estado" inicial, sendo disponibilizado para download um "modelo" para desenvolvedores, baseado num repositório git; as instruções para fazer um download a partir do Git, encontram-se aqui.

"Pronto! é um sistema para controle de tarefas baseado no método ágil Scrum. É um projeto de código livre que conta com a sua colaboração!"

Fiquei imediatamente interessado, pois "browseando" o git, descobri que ele usa o ZK, um framework RIA que estou também interessado em conhecer. Fui em frente:

  • para os pacientes, comece lendo aqui...

a) baixei o plugin do git pro Eclipse, apontei pra lá e baixei o projeto, já todo prontinho... antes tive que instalar o maven2 e também um plugin do Maven2 para Eclipse;

b) depois fiz toda a configuração do maven2 para ele criar um repositório local (M2_HOME); já havia mexido com o maven, então foi tranquilo.

c) gerei o pronto-xxx.war, joguei dentro do jboss 4.2.3.GA, usando jdk 1.6.0_u14, criei a base de dados usando um script fornecido pelo pacote, seguindo a sugestão do site do Pronto!;

  • os impacientes, começam lendo aqui...

d) coloquei o jdbc (baixe a "8.3-605 JDBC 3") do Postgres, que é o banco de dados recomendado e tenho boa familiaridade com ele, dentro do JBOSS_HOME/server/pronto/lib (veja que sempre trabalho com uma cópia do default - JBOSS_HOME/server/default - e mantenho ela sempre íntegra);

e) alterei o IP para o Postgress no DataSource, alterei o nome para pronto-ds.xml e copiei para JBOSS_HOME/server/pronto/deploy (pode ser qualquer nome, desde que tenha o sufixo *-ds.xml);

f) criei um pequeno bootstrap para o startup do JBoss, já que não costumo alterar os arquivos e nem a infraestrutura, chamado run-pronto.sh, que deve ser colocado em JBOSS_HOME/bin; verifique esse arquivo e veja se precisa alteração, como IP por ex.;

#!/bin/bash
# alguns snippets para o bootstrap do Pronto
JAVA_OPTS="-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss128k"
# exportar a variavel JBOSS_HOME (por garantia)

export JBOSS_HOME=/opt/jboss-4.2.3.GA
# inicia o JBoss numa instancia e num IP especificos

#./run.sh -c pronto --host 192.168.0.185
# IP padrao localhost
./run.sh -c pronto --host localhost

g) baixar e renomear o arquivo web archive para pronto.war e copiar em JBOSS_HOME/server/pronto/deploy;

h) para testar, siga abaixo:
cd JBOSS_HOME/bin
./run-pronto.sh
pelo browser: http://localhost:8080/pronto
usuário: admin
senha: admin

  • para aqueles que tempo = ouro!

i) baixe um bundle pronto+jboss aqui; descompacte em qualquer lugar, verifique o pronto-ds.xml e o run-pronto.sh, para coisas de IP,... startup, aponte o browser para http://localhost:8080/pronto-agile e enjoy it!

Pronto!

quarta-feira, 8 de julho de 2009

Guides: Providing your SSH Key - Linux

Linux

Step 1: Check to see if you already have a public/private key pair for your user.

If you do, it will be in your ~/.ssh directory.

[~]$ cd .ssh
[~/.ssh]$ ls
config id_dsa.pub
id_dsa known_hosts
Key pairs are always named like something and something.pub. The something file is your private key and must be kept secret. The something.pub file is your public key, and this is what you’ll belong public domain.

Step 2: Generate a public/private dsa key pair if you don’t already have one.

This is done with the ssh-keygen program:

[~/.ssh]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/tom/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tom/.ssh/id_dsa.
Your public key has been saved in /home/tom/.ssh/id_dsa.pub.
The key fingerprint is:

Step 3: Upload your public key to Someone.

Copy your public key to the clipboard so you can easily paste it into your web browser. If you have xclip installed then:

[~/.ssh]$ cat id_dsa.pub | xclip

The xclip command copies whatever is sent to it via STDIN to the clipboard (you may have to use xclip -selection clipboard), ensuring that you won’t have any extraneous newlines or other problems. If you don’t have xclip then either install it using your OS’s package manager or print out the public key to a terminal so that you can manually copy the key data.

[~/.ssh]$ cat id_dsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1FlHRbbxXIv/hLDTeJczlEqGNt0oFcoPEEENHThzP5ku
PDsitSSUH2MATP014G/3BzaI9pdnhf02MSEcmtmIKXrm05/dzxEmp9yOY32YHyk6/rLUGGTJuWOpGt3J
6H5LWxq9yeRUuFG/pCRH3+KxOyzasSHXfXJaC5v7wPxUdAeg9k0jwsUjnqUcYvzo5+GwCXV9dIwY3Sr/
OrL2l8SCdSWyd3PLufJXKQHlouHB0NI/+G/QjWmkB8c1PJh/VuIe36mqv82V9XXKvYNaVWwz5Sg6aY9u
p2lgDEme+AFdPPjOnkdF6OHCr7ymKg6c/B2YCbOW7QN/L4uAdVOhTNnJMQ== tom@volcano

Copy the entirety of the public key to the clipboard. It is important that there are no newlines in the key (copying from the cat output in your console should work properly. Now you can simply select the place box and paste in your public key!

quarta-feira, 1 de julho de 2009

Sistemas Operacionais (Tanenbaum/Woodhull)

A quem possa interessar...

» Dados do Ebook

Nome do Livro: Sistemas Operacionais - Projeto e Implementação - 2ª Edição

Nome do Autor: Andrews Tanenbaum e Albert Woodhull
Gênero: Sistemas Operacionais
Ano de Lançamento: 2008
Editora: Artmed


» Sinopse

Sistemas Operacionais: Projeto e Implementação


Texto introdutório sobre sistemas operacionais mais vendidos do mundo foi atualizado para refletir os avanços do MINIX 3, agora mais simples, mais confiável e mais completo. Nesta edição, foram adicionados e aprofundados aspectos relacionados a segurança e confiabilidade em sistemas de computação.

Oferecendo um ótimo equilíbrio entre teoria e prática, este livro continua sendo a melhor fonte para todos que buscam entender como os sistemas operacionais funcionam. Diferencia-se dos outros livros da área por apresentar de forma clara, objetiva e concisa os conceitos essenciais de sistemas operacionais.


»Informações

Nº de páginas: 340

Tamanho: 25.5MB
Formato: pdf

Download: AQUI