I just wanted to share my "final experience" after 1 year:
- I had to drop Lazarus, and switch back to Delphi7, because Lazarus could not create a special (non-standard) version of JWS signature the Goverment demanded.
- I've used ICS for the whole project including JSON generation + SSL3 + JWS + some special HTTPS stream-readout, (when the there was some different response code then 200=OK).
So ICS was a great choice, I can recommend it, but sadly it does not run on Lazarus 
What a bummer. I have had this thought several times, when things seem to stop complying on Lazarus, very quickly, Delphi 7 comes in mind.
But never had to abandon Lazarus, with little persistence (oh am very stubborn) things start to come around.
But am glad things worked out for you as you hoped. That all that matters here. We gotta make living. Keep it up.