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!