Importando um certificado SSL

Você pode adquirir um Certificado SSL de uma certificadora como Verisign, Thawte, etc. 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.

/opt/java/bin/keytool -import -alias serasa -keystore serasa-prod.jks -trustcacerts -file ./sitenet43.serasa.com.br

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=sitenet43.serasa.com.br, OU=Domain Control Validated, C=BR
Issuer: CN=AlphaSSL CA - G2, O=AlphaSSL
Serial number: 1121135488c25c36c39de12fe7d7e33e8c79
Valid from: Sat Jul 13 00:43:47 BRT 2013 until: Wed Jul 13 00:43:47 BRT 2016
Certificate fingerprints:
	 MD5:  7F:A4:83:7F:4A:C4:F2:9F:DA:82:70:43:BD:42:35:EE
	 SHA1: 2D:77:EE:65:EE:4C:AA:DE:1A:EB:9A:EA:A5:00:6D:53:F8:6A:23:20
	 SHA256: F5:53:6C:22:66:27:B3:CB:82:87:39:9A:50:0D:BB:42:C3:45:6D:2E:0B:FD:BE:CC:52:7D:06:C3:32:6C:87:F5
	 Signature algorithm name: SHA1withRSA
	 Version: 3

Extensions: 

#1: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
AuthorityInfoAccess [
  [
   accessMethod: caIssuers
   accessLocation: URIName: http://secure2.alphassl.com/cacert/gsalphag2.crt
, 
   accessMethod: ocsp
   accessLocation: URIName: http://ocsp2.globalsign.com/gsalphag2
]
]

#2: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 14 EA 19 55 F0 0E 0D 32   C6 1F 74 33 B7 8E 66 1A  ...U...2..t3..f.
0010: 4C 12 31 1E                                        L.1.
]
]

#3: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
  CA:false
  PathLen: undefined
]

#4: ObjectId: 2.5.29.31 Criticality=false
CRLDistributionPoints [
  [DistributionPoint:
     [URIName: http://crl2.alphassl.com/gs/gsalphag2.crl]
]]

#5: ObjectId: 2.5.29.32 Criticality=false
CertificatePolicies [
  [CertificatePolicyId: [2.23.140.1.2.1]
[PolicyQualifierInfo: [
  qualifierID: 1.3.6.1.5.5.7.2.1
  qualifier: 0000: 16 26 68 74 74 70 73 3A   2F 2F 77 77 77 2E 67 6C  .&https://www.gl
0010: 6F 62 61 6C 73 69 67 6E   2E 63 6F 6D 2F 72 65 70  obalsign.com/rep
0020: 6F 73 69 74 6F 72 79 2F                            ository/

]]  ]
]

#6: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
  serverAuth
  clientAuth
]

#7: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
  DigitalSignature
  Key_Encipherment
]

#8: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: sitenet43.serasa.com.br
]

#9: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 1B 0D 77 B4 3F 71 7D B1   90 37 A9 82 8B 94 13 BB  ..w.?q...7......
0010: CF 3A 3B 78                                        .:;x
]
]

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

Observe que para finalizar, ele pergunta “Trust this certificate?”, responda “yes”.

Agora vamos listar a chave importada, ver se ficou legal (use a password usada acima).

$ /opt/java/bin/keytool -list -keystore serasa-prod.jks
Enter keystore password: 

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

serasa, Dec 29, 2014, trustedCertEntry, 
Certificate fingerprint (SHA1): 2D:77:EE:65:EE:4C:AA:DE:1A:EB:9A:EA:A5:00:6D:53:F8:6A:23:20

Pronto, agora você tem uma Java Key Store para usar com seus certificados, enjoy!

Published by

Claudio Cardozo

Ubuntu Kernel Team Membership, Certified SCRUM Master, System Architect, Open Source enthusiastic, Java and JavaFX passioned, OpenCRX Team, Theologist, minimalist lifestyle, eitaa!