Você pode adquirir um Certificado SSL de uma certificadora como Verisign ou Thawte. Essas empresas oferecem excelentes documentações e instruções sobre como instalar o certificado em seu website.
Abaixo eu incluí um screenshot do processo de instalação do certificado no arquivo keystore.
Atenção! 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 (serasa.jks), onde contém a chave publica.
Enter keystore password: Re-enter new password:
Após a password, 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 a .keystore para um nome que se entenda… como:
mv ../../.keystore serasa.jks
Usaremos entao 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 sim num properties, como abaixo:
user.jks=gHUrtR3FCQbigUmFOY/eXKxOtcajYEhp+g==RO6SyDLaAQ==
Então, para criptografar uma senha, você vai precisar de um pequeno aplicativo, disponível aqui; veja abaixo screenshot
- Execute:
$ java -jar criptografia.jar
Have fun!