Auto-assinar Certificado do IIS com OpenSSL

Esse procedimento foi testado para Windows XP e Windows Server 2003

1 - Faça o Download do OpenSSL 

Link para download : Win32 OpenSSL v1.0.1c
Talvez precise instalar o Virtual C++ que está disponível na mesma página do link.

2 - Crie seu próprio certificado para assinatura

No prompt de comando do windows acesse o diretório onde foi instalado o OpenSSL, no meu caso é C:\OpenSSL-Win32\Bin\ e execute o openssl



Digite os seguintes comandos:
Crie uma chave privada
genrsa -des3 -out C:\Cert\CA.key 1024
* Precisará determinar uma senha.
** O OpenSSL irá gerar um arquivo CA.key, para segurança configuer-o como "somente leitura".

Crie ocertificado de sua chave privada
req -new -key C:\Cert\CA.key -x509 -days 365 -out C:\Cert\CA.crt
* O OpenSSL irá pedir a senha da chave privada.
** Insira as informações que o OpenSSL requisitar: País, Estado, Cidade, Empresa, etc. Simule as informações como se fosse uma empresa certificadora.
*** Defina o arquivo CA.crt como somente leitura.

3 - Obtenha a solicitação de assinatura de certificado no IIS

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Certificado de servidor".
  • Selecione a opção "Criar novo certificado" e clique no botão "Avançar".
Imagem IIS criando
Criando solicitação

  • Selecione a opção "Preparar a solicitação agora, mas enviá-la posteriormente". Clique em "Avançar".
  • No campo "Nome", digite um nome auto-explicativo para facilitar a identificação do certificado.
  • No campo "Comprimento de bit" deixe como está (1024). Clique em "Avançar".
  • Preencha os dados conforme pede o assistente e avance novamente.
  • No Campo "Nome comum" preencha com a URL do site que deseja certificar. exemplo: dominio.com.br
  • Na próxima etapa preencha os campos de informações de localização: País, Estado e cidade. Clique em "Avançar".
  • Na póxima etapa salve o arquivo em C:\Cert\certreq.csr
  • Depois é só avançar e concluir.

4 - Assinar o certificado solicitado

Volte para o prompt de comando do Windows, e digite a seguinte linha no OpenSSL:
x509 -req -days 365 -in C:\Cert\certreq.csr -CA C:\CertCA.crt -CAkey C:\Cert\CA.key -CAcreateserial -out C:\Cert\assinado.crt
* O OpenSSL gera um arquivo assinado que será usado para instalar no IIS.
** 365 é a quantidade de dias para validade do certificado.

5 - Instale o certificado no IIS

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Certificado de servidor".
  • Selecione a opção "Processar a solicitação pendente e instalar o certificado" e Avance.
Imagem IIS
Salvando solicitação


  • Clique em procurar para localizar seu certificado assinado. Caso ele venha com o filtro *.cer como padrão, retire o filtro e coleque "Todos os Arquivos (*.*)" para selecionar seu certificado assinado com extensão *.crt
  • Avace e conclua a instalação do certificado.

6 - Atribua Conexão segura ao site

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Editar".
Imagem Atribuindo conexão segura
Atribuindo conexão segura

  • Deixe selecionado a opção "Exigir canal seguro (SSL)".
Imagem exigir canal seguro SSL
Exigir canal seguro (SSL)

Obs.: Você pode exigir canal seguro em apenas sub-diretórios, exemplo: dominio.com/admin/
Para isso basta criar um diretório virtual chamado "admin" dentro do site, e nas propriedades dele repetir o passo acima.
Apartir daí só poderá conectar em dominio.com.br/admin/ usando o protocolo https. Assim: https://dominio.com.br/admin/

Aviso!
Todos os certificados auto-assinados não são reconhecidos pelos navegadores, deste modo para obter um certificado reconhecido é necessário enviar o seu arquivo *.csr para ser assinado por um Autoridade Certificadora.

Alguns certificadores:
http://www.validcertificadora.com.br/
http://www.laniway.com.br/br/corporativo/certificado.do
http://www.webplace.com.br/ssl/
http://www.verisign.com.br/
http://www.digicert.com/

Vantagens do certificado auto-assinado

  • Sua conexão será devidamente criptografada garantindo a segurança dos dados na conexão com o servidor. (Gratuito)

Desvantagens do certificado auto-assinado

  • Toda vez que o cliente (usuário) acessar uma de suas páginas seguras o navegador do cliente avisará que o certificado digital dele não foi assinado por uma entidade competente.

Curso Interativo de Inglês

Curso Interativo de Inglês - Digerati
O Curso de Inglês em FLASH-VÍDEO da DIGERATI visa ajudar àqueles que desejam aprender outras línguas de maneira fácil e simples. O Curso é dividido nas categorias Iniciante, Intermediário e Avançado para proporcionar a todos um rendimento eficaz e satisfatório.

Curso Completo pacote de arquivos (*.rar) - Download (4shared.com)

Curso Conserte Placa-Mãe

Curso completo para conserto de placa-mãe

Ensino prático da manutenção, montagem e conserto de computadores. O curso apresenta componentes hardware (placa mãe, processador, memória ram, hd, placa off boards em geral), ensina a configurar a BIOS (Sistema Básico de Entrada/Saída).

 Conteúdo do Curso Montagem, Manutenção e Conserto de computador, veja abaixo um pouco do conteúdo:

  • Ferramentas de trabalho para manutenção de micros e microeletrônica

  • Construindo gravador Universal de Eprom para gravar BIOS

  • Conhecendo Sockets e slots de processadores
CONHECENDO A ESTRUTURA DA PLACA-MÃE

  • Circuito Regulador de Tensão

  • Circuito Controlador Super I/O

  • Circuito Gerador de Clock

  • Chip Cmos

  • Circuito Controlador de memória cache (Ponte Norte)

  • Funcionamento Ponte Norte e Ponte Sul
MICROCOMPONENTES SMD

  • Trabalho e retrabalho com componentes SMD

  • Pesquisando defeitos

  • Dessoldagem de Circuitos Integrados com solda convencional passo a passo

  • Dessoldagem de Circuitos Integrados com Estação de Retrabalho e Soprador Térmico

  • Soldagem de Circuitos Integrados
CONSIDERAÇÕES INICIAIS SOBRE MANUTENÇÃO DE PLACA-MÃE
  • Primeiros testes

  • Sinais Básicos

  • Teste de alimentação

  • Teste de Clock

  • Teste do sinal Reset

  • Teste do Microprocessador

  • Teste da Bios

  • Teste de RAM

  • Testes Avançados

  • Testes usando Slots e Placa de diagnóstico
  • Testando Microprocessador, RAM, Chipset, 8042, TTLs, Função e Interface IDE, Saídas seriais e paralelas e muito mais.

Curso Completo pacote de arquivos (*.rar) - Download (4shared.com)

Leitura Dinâmica

Curso Completo de Leitura Dinâmica (*.pdf) - Download (4shared.com)
Autor/Editora: desconhecido

Leitura Dinâmica e Técnicas de Memorização

Leitura Dinâmica e Técnicas de Memorização


Leitura Dinâmica e Técnicas de Memorização (*.pdf) - Download (4shared.com)
Editora Didática Paulista

Técnicas de Aprendizagem Acelerada

Carlos Mauricio Prado
Foto de Carlos Mauricio Prado
Carlos Mauricio Prado

 Carlos Mauricio Prado apresenta uma técnica infalível usada para memorizar todo conteúdo de um livro ou trabalho usando uma única folha de papel. 

Segundo ele isso se torna possível utilizando os dois emisférios do cerebro. 

 

 Baixar arquivo de audio (*.mp3) : Download (4shared.com)

Objeto Recodset (ADO)

Objeto Recodset (ADO)


Objeto Recordset (ADO)
Muitos desenvolvedores encontram dificuldade em trabalhar com o ADO, por essa razão resolvi fazer um breve exemplo de uso de uma de suas ferramentas mais utilizadas - o Recordset. O Recordset é o Objeto mais utilizado por desenvolvedores que usam o ADO, e sempre existe a dúvida de como trabalhar corretamente com o Recordset, ou se está aproveitando o máximo seus recursos.
Quando trabalho com ASP, no desenvolvimento de páginas Web sempre faço chamada de dados usando o Recordset, e também em alguns casos quando trabalho com Delphi, como eu já disse anteriormenete, o ADO é uma ferramenta poderosa de acesso a dados e acredito que seja a mais fácil de trabalhar.

Bem, vamos ao que interessa!
 


Recordset

O objeto Recordset representa um conjunto de registros recuperados de um provedor de dados. Este objeto é indispensável para o processamento ADO, porque ele permite recuperar dados diretamente. O ADO permite que você abra um objeto Recordset diretamente, ou crie um através do Objeto Command ou Connection.


O Objeto Recordset possui três propriedades principais para manipulação, onde surge a maioria das dúvidas dos desenvolvedores. Tentarei explicá-las de maneira objetiva. 

  •  CursorLocation
Podem ser duas opções: 
adUseServer e adUseClient.
De maneira geral um cursor é um conjunto de registros em memória, e claro algum software é responsável por manter o controle desse conjunto. O adUseServer, cursores estação servidor são mantidos pela fonte de dados atual, ou seja, de onde os registros foram recuperados. Já o adUseClient, cursores estação cliente, são mantidos pelo Microsoft OLE DB, que por sua vez tenta nivelar o meio de campo fornecendo recursos e capacidades que estão "faltando" em alguns servidores. Exemplo:


Dim tbExemplo
Set tbExemplo = Server.CreateObject("ADODB.RecordSet")
tbExemplo.CursorLocation = 2'(adUseServer) modo servidor
 ou
tbExemplo.CursorLocation = 3'(adUseClient) modo Cliente. (*) mais rápido

Obs.: Se nenhum CursorLocation for especificado o ADO assume o adUseServer como padrão. E alguns recursos estão disponíveis apenas na estação cliente.

  •  CursorType
Podem ser quatro opções: adOpenDinamyc, adOpenKey, adOpenStatic eadOpenFowardOnly.
O CursorType especifica o comportamento do Objeto recordset. Acompanhe:

adOpenDinamyc - Você abre o Recordset de maneira dinâmica, e permite todos os movimentos como MoveNext, MoveFirst, AddNew, etc... E ainda mantêm o Recordset atualizado com as mudanças feitas por outros usuários na base de dados.

adOpenKey - Recordset de chave configurável (keyset), funciona como o Recordset dinâmico, exceto pelo fato de você não ver novos registros adicionados ou apagados da base de dados. Ideal para operações com dados, inclusive quando precisa se movimentar pela tabela aleatoriamente.

adOpenStatic - Ideal para relatórios onde as informações não precisam estar completamente atualizadas, pois depois de aberto fica completamente desconectado da base de dados enquanto você se movimenta pelos registros. Abre o recordset de maneira estática.

adOpenFowardOnly - Idêntico ao estático, exceto pelo fato de você só poder mover o ponteiro da tabela para frente. Este oferece a mais rápida performance. É mais flexível do que suponhamos, pois do método MoveNext, você pode usar o Move, para pular registros que intervenham, desde que esteja movendo para frente. Este método é o mais usado em casos como abrir uma tabela de cidades para poder mostrar um ComboBox apenas para cidades de determinado estado, é muito rápido. Tome muito cuidado com este método, mesmo que você precise usar o comando MoveFirst ele obedecerá normalmente, porém ele força o provedor abrir e fechar o Recordset para atingir o primeiro registro, fazendo com que sua aplicação se torne lenta.

Em geral se você um tipo de cursor que tenha apenas a habilidade que você precisa em sua aplicação, você ganha melhor performance.

tbExemplo.CursorType = 0 '(adOpenFowardOnly), mais rápido 
tbExemplo.CursorType = 1 '(adOpenStatic)
tbExemplo.CursorType = 2 '(adOpenDinamic)
tbExemplo.CursorType = 3 '(adOpenKey)

Obs.: Fique atento, se você não especificar o tipo de cursor o adForwardOnly como padrão.


•  LockType

adLockReadOnly - Usado para recordsets que não precisam ser editados. Alta performance.

adLockPerssimistc - Para bloqueios pessimistas, onde os registros são mantidos bloqueados durante todo o processo de edição.

adLockOptimistic - Para bloqueios otimistas, onde os registros são mantidos bloqueados apenas enquando o dado está sendo atualizado.

adBatchOptimistic - Para recordsets que usarão o método UpdateBatch para atualizar múltiplos registros numa única operação.

tbExemplo.LockType = 1'(adLockReadOnly), mais rápido, somente leitura 
tbExemplo.LockType = 2'(adLockPessimistc) bloqueia regsitro na fonte 
tbExemplo.LockType = 3'(adLockOptimistic) bloqueia somente na chamada
tbExemplo.LockType = 4'(adLockBatchOptimistic)

Obs.: Se você não especificar o tipó de bloqueio o ADO usará o adReadOnly como padrão (somente leitura).

O Recordset padrão do ADO é Estação Servidor, Forward-only, e Read-only. Se você deseja mover-se pelos registros aleatoriamente, ou alterar registros, é necessário preencher as propriedades corretas.

Citarei um exemplo para abrir uma tabela (Recordset) em alta performance em MySQL:

Dim Objdb, db_host, db_name, db_username, db_password 
db_host = "mysql.server_exemplo.com"
db_name = "banco_de_dados"
db_username = "nome_usuario"
db_password = "senha_usuario"

Set Objdb = Server.CreateObject("ADODB.Connection")
Objdb.Provider = "MSDASQL.1"
Objdb.Open
"Driver={MySQL ODBC 3.51 Driver};"& _ 
  "Server="&db_host&";"& _
  "Port=3306;Database="&db_name&";"& _
  "User="&db_username&";Password="&db_password&";Option=3;"

Dim tbExemplo, strExemplo
Set tbExemplo = Server.CreateObject("ADODB.RecordSet")
tbExemplo.CursorLocation = 3' modo Cliente.

tbExemplo.CursorType = 0' apenas para frente

tbExemplo.LockType = 1' somente leitura
strExemplo = "SELECT * FROM `tabela`;"
tbExemplo.Open strExemplo, ObjDB