General Why the name of Hupa?

Hupa was choosen in respect of the tribe : Hoopa. In the native language Hupa means: The tribe on both ways, which remember on the both way of email conversations: sending/receiving.

How do I run Hupa?

Hupa war file comes with a jetty embedded server, so, having java installed, run this:

$ java -jar hupa-version_number.war
SSL related questions I'm getting a javax.net.ssl.SSLHandshakeException error when running Hupa?

If you configure Hupa to use imap or smtp over ssl, you have to assure that your servers have valid certificates signed by trusted authorities, otherwise you must add them to your java trustore file.

How do I get the public key of my remote imap or smtp servers?

Use the openssl command available in most unix distributions. $ openssl s_client -connect imap.yourcompany.com:993 $ openssl s_client -connect smtp.yourcompany.com:465 Then generate a new file (ie: public-sever-cert.pem) with the fragment between the BEGIN CERTIFICATE and END CERTIFICATE tags.

How do I import a public key to Java's cacert?

This can be done using the keytool application distributed with your Java installation:

$ keytool -import -alias mail.yourcompany.com \ -keystore $JAVA_HOME/jre/lib/security/cacerts \ -file public-server-cert.pem

The default password for a java keystore is changeit

NOTE: you only can have a certificate per hostname, so if you use the same name for your smtp and imap server they have to share their private key, otherwise you must use different names

How do I add a public key to a custom truststore?

This can be done using the keytool application distributed with your Java installation:

$ keytool -import -alias mail.yourcompany.com \ -keystore {some-path}/your-truststore \ -file public-server-cert.pem

The default password for a java keystore is changeit