B4J Question [ABMaterial][ABKeystoreSSL]Setup Details [SOLVED]

Philip Chatzigeorgiadis

Active Member
Licensed User
Longtime User
I have an ABM Web application running from my PC.
I have already set it up to run SSL with a self-signed certificate, generated via keytool (but of course browsers complain about such certificates).
So, I would like to use the ABKeystoreSSL to create valid certificates (https://www.b4x.com/android/forum/t...-generator-using-lets-encrypt.128115/#content).

I have some questions on some instructions for the use of ABKeystoreSSL, before I start experimenting.

QUESTION 1
Do I need to create some sort of user account with Let's Encrypt and use the account passwords in the keyStorePassword and keyManagerPassword varialbes of the GenerateJKS function?

QUESTION 2
ABKeystoreSSL instructions state:
You must have a domain and a web server like Apache running on port 80!

I have a domain, but the only server I am running on port 80 is the server created from my ABM app. Is this OK?

QUESTION 3
ABKeystoreSSL instructions state:
wwwFolder: needs to be the 'entry point' in your webserver (NOT your B4X app). In my case it was var/www/html and not var/www/)
MUST be accessible on port 80. Is for example your Apache Server.


Which folder will be considered the entry point of my ABM web app? Is it the www folder?


QUESTION 4
Do I need to use my ABM DonatorKey for ABMKeystoreSSL to work?

Thanks for any help!
 
Solution
Q1: No and those passwords are passwords you choose
Q2: this is probably not going to work as jServer is going to catch it which will not work. You need a normal Apache web server.
Q3: related to Q2, no it can not be the ABM www folder, but must be the native Apache folder
Q4: No

alwaysbusy

Expert
Licensed User
Longtime User
Q1: No and those passwords are passwords you choose
Q2: this is probably not going to work as jServer is going to catch it which will not work. You need a normal Apache web server.
Q3: related to Q2, no it can not be the ABM www folder, but must be the native Apache folder
Q4: No
 
Upvote 0
Solution

Philip Chatzigeorgiadis

Active Member
Licensed User
Longtime User
Q1: No and those passwords are passwords you choose
Q2: this is probably not going to work as jServer is going to catch it which will not work. You need a normal Apache web server.
Q3: related to Q2, no it can not be the ABM www folder, but must be the native Apache folder
Q4: No
Thanks for the swift response, AlwaysBusy!

Regarding Q2 and Q3:
So I need to run an Apache web server on port 80. This means that my ABM web app should work on another port - which I guess is fine, since it will probably work on the SSL port. Is my understanding correct?
 
Upvote 0

alwaysbusy

Expert
Licensed User
Longtime User
Yes. I have to admit I'm nowadays not very familiar anymore with how the whole thing works as we outsourced our whole network management and they take of the whole thing. We do not use this library anymore either. I know everything is now wrapped after haproxy so they probably do some kind of tricks with port forwarding so everything works smoothly for us.
 
Upvote 0

Philip Chatzigeorgiadis

Active Member
Licensed User
Longtime User
OK.
I will make some tests and report back my findings.
I confirm that having Apache at port 80 and ABM web app running SSL on a diferent port works fine.

There was one small issue. The ABKeystoreSSL lib listed in the library thread, i.e.


throws this error:

java.lang.NoClassDefFoundError: org/eclipse/jetty/util/log/StdErrLog

which is fixed using the ABKeystoreSSL lib which is listed in this trhead:

.

However, this version does not seem to support the JKS.ReloadJKS method.

@alwaysbusy, if possilbe, please consider updating the ABKeystoreSSL file in the ABKeystoreSSL library thread.

Thanks for your help!
 
Last edited:
Upvote 0

Philip Chatzigeorgiadis

Active Member
Licensed User
Longtime User
Can you try this one? I have no access to an Apache server for the moment.
Tested on my production server. No problems so far.

So, this new version seems to take care of both the JKS.ReloadJKS method missing problem and method and "the java.lang.NoClassDefFoundError: org/eclipse/jetty/util/log/StdErrLog" problem.

It might be a good idea to update the library version in B4J as, right now, my B4J IDE shows ABMKeystoreSSL version 1.15, with Onlive version 1.08.
 
Upvote 0
Top