Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding an SSL Certificate to JRE in order to access HTTPS sites

Context:

So I'm trying to access an HTTPS site from my Java code but I am not able due to an SSL Handshake issues between my localhost and the server. It seems the reason for this issues is that the URL I am trying to access has no valid certificate issued from an authorized CA.

So after some research, I'm going to try to import the offending SSL certificates into my JRE, that way it can be validated.

Question:

What is the mac equivalent of this command using the keytool for importing certificates:

keytool -import -alias mycertificate -keystore ..\lib\security\cacerts -file c:\mycert.cer

Reference:

http://www.jyothis.co.in/2011/11/12/javax-net-ssl-sslhandshakeexception/

Any help or assistance would be much appreciated, thank you

like image 398
mosawi Avatar asked Sep 20 '14 17:09

mosawi


People also ask

How set SSL certificate in Java?

The steps to install a new certificate into the Java default truststore are: extract cert from server: openssl s_client -connect server:443. import certificate into truststore using keytool: keytool -import -alias alias.server.com -keystore $JAVA_HOME/jre/lib/security/cacerts.


1 Answers

You should be able to import the server (self-signed?) SSL certificate onto your localhost using the command you specified. To be more complete, you can try

$JAVA_HOME/bin/keytool -import -alias mycertificate -keystore path_to_keystore -file certificate_file 

where

  • $JAVA_HOME on Mac is /System/Library/Frameworks/JavaVM.framework/Home/
  • path_to_key_sotre is $JAVA_HOME/lib/security/cacerts
  • certificate_file is where you store the downloaded certificate

If prompted, the default truststore password is changeit.

like image 91
ivan.sim Avatar answered Oct 10 '22 05:10

ivan.sim