SqueakSSL questions and problems

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

SqueakSSL questions and problems

Douglas Brebner-2
Hi,

I've been playing around with SqueakSSL in Squeak and Cuis recently and
found that most of the tests fail under Linux. It seems that the root of
the problem is that the example test certificate in
SqueakSSL>>#exampleCertFile is both expired (only valid from 2011->2012)
and also using cyphers no longer supported in TLS 1.3. This breaks the
tests using local connections.


I am nowhere even close to being a crypto expert so I'm asking how
should this be handled?

I believe that the certificate was supposed to be replaced every year
(or longer with longer valid dates) but don't want to do this without
some advice.

Should we just replace the old certificate with a new one with longer
validity or should there be some kind of automatic infrastructure to
generate them as appropriate? Maybe one that can be downloaded?

Another problem I found is that WebClient/SqueakSSL apparently *does not
verify* server certificates on MacOS. I don't know if this is just in
the tests or if it's for all TLS/SSL connection but it should be
clarified and/or fixed.

In addition to this, I found that some of the SqueakSSL tests ping
Google, Facebook and Yahoo urls. Changing these would be nice.

Finally, is SqueakSSL an appropriate name for a *TLS* library used on
both Squeak and Cuis? ;)

Thanks

P.S. Ordinary Squeak client to remote https servers connections work
fine on my linux machine. Wireshark shows TLS 1.3 connections.

Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL questions and problems

timrowledge
Yah, you're right about the certificate. I actually mentioned it back in early May (about 300 years ago, amiright?) and we promptly did nothing about it.

> On 2020-10-27, at 11:31 AM, Douglas Brebner <[hidden email]> wrote:
>
> Hi,
>
> I've been playing around with SqueakSSL in Squeak and Cuis recently and found that most of the tests fail under Linux. It seems that the root of the problem is that the example test certificate in SqueakSSL>>#exampleCertFile is both expired (only valid from 2011->2012) and also using cyphers no longer supported in TLS 1.3. This breaks the tests using local connections.
>
>
> I am nowhere even close to being a crypto expert so I'm asking how should this be handled?
>
> I believe that the certificate was supposed to be replaced every year (or longer with longer valid dates) but don't want to do this without some advice.
>
> Should we just replace the old certificate with a new one with longer validity or should there be some kind of automatic infrastructure to generate them as appropriate? Maybe one that can be downloaded?
>
> Another problem I found is that WebClient/SqueakSSL apparently *does not verify* server certificates on MacOS. I don't know if this is just in the tests or if it's for all TLS/SSL connection but it should be clarified and/or fixed.
>
> In addition to this, I found that some of the SqueakSSL tests ping Google, Facebook and Yahoo urls. Changing these would be nice.
>
> Finally, is SqueakSSL an appropriate name for a *TLS* library used on both Squeak and Cuis? ;)
>
> Thanks
>
> P.S. Ordinary Squeak client to remote https servers connections work fine on my linux machine. Wireshark shows TLS 1.3 connections.
>
>


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: PBF: Pay Bus Fare



Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL questions and problems

Douglas Brebner-2
On 27/10/2020 19:09, tim Rowledge wrote:
> Yah, you're right about the certificate. I actually mentioned it back in early May (about 300 years ago, amiright?) and we promptly did nothing about it.

Ah. I've only come back to Squeak/Cuis a few months ago so must have
missed that. I would have saved me some digging.


Replacing the old certificate would be just a matter of putting the
ascii format version in the right method. Maybe I'll have a stab at it
if no one skilled with crypto stuff does it.


Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL questions and problems

Tobias Pape
In reply to this post by Douglas Brebner-2

> On 27.10.2020, at 19:31, Douglas Brebner <[hidden email]> wrote:
>
> Hi,
>
> I've been playing around with SqueakSSL in Squeak and Cuis recently and found that most of the tests fail under Linux. It seems that the root of the problem is that the example test certificate in SqueakSSL>>#exampleCertFile is both expired (only valid from 2011->2012) and also using cyphers no longer supported in TLS 1.3. This breaks the tests using local connections.
>
>
> I am nowhere even close to being a crypto expert so I'm asking how should this be handled?
>
> I believe that the certificate was supposed to be replaced every year (or longer with longer valid dates) but don't want to do this without some advice


+

> Should we just replace the old certificate with a new one with longer validity or should there be some kind of automatic infrastructure to generate them as appropriate? Maybe one that can be downloaded?
>

+

> Another problem I found is that WebClient/SqueakSSL apparently *does not verify* server certificates on MacOS.

+

> I don't know if this is just in the tests or if it's for all TLS/SSL connection but it should be clarified and/or fixed.
>

++> All in all, SqueakSSL _used_to_ only verify on Windows, because it did not work anywhere else.
For Unix/openssl, I implemented Cert checking in so far that the hostname is ok, (maybe more? i cant remember),
for libressl/libtls, it should validate most things.

For Mac, things were meeeh. I even debugged into CommonCrypto and such just to find that it goes "should I verify here?" which was deeeply frustrating.

In theory, things should validate, in practice, not so much.


> In addition to this, I found that some of the SqueakSSL tests ping Google, Facebook and Yahoo urls. Changing these would be nice.

Hmm. These ones are useful and maaaybe are not down so often.
Anything we control is bound to have more downtime ¯\_(ツ)_/¯


>
> Finally, is SqueakSSL an appropriate name for a *TLS* library used on both Squeak and Cuis? ;)

History…

>
> Thanks
>
> P.S. Ordinary Squeak client to remote https servers connections work fine on my linux machine. Wireshark shows TLS 1.3 connections.

Depends on your OpenSSL library version :)

Best regards
        -Tobias



Reply | Threaded
Open this post in threaded view
|

Re: SqueakSSL questions and problems

Douglas Brebner-2

On 27/10/2020 20:00, Tobias Pape wrote:
>
>> On 27.10.2020, at 19:31, Douglas Brebner <[hidden email]> wrote:

++> All in all, SqueakSSL _used_to_ only verify on Windows, because it
did not work anywhere else.
For Unix/openssl, I implemented Cert checking in so far that the
hostname is ok, (maybe more? i cant remember), for libressl/libtls, it
should validate most things.

Ok, something to take a look at then.

> For Mac, things were meeeh. I even debugged into CommonCrypto and such just to find that it goes "should I verify here?" which was deeeply frustrating.

Ouch, so Mac users just have to keep a close eye on things then.


> In theory, things should validate, in practice, not so much.

Wonderful. Something else to investigate.


>> In addition to this, I found that some of the SqueakSSL tests ping Google, Facebook and Yahoo urls. Changing these would be nice.
>
> Hmm. These ones are useful and maaaybe are not down so often.
> Anything we control is bound to have more downtime ¯\_(ツ)_/¯

Alright. I just don't like pinging them. Especially since the tests need
fixed *anyway* due to various errors they're hiding. (The TLS connection
works but the http layer returns errors due to site changes).

>> Finally, is SqueakSSL an appropriate name for a *TLS* library used on both Squeak and Cuis? ;)
>
> History…

Yeah, I just wondered if there was any interest in changing the name or
not. I'm fine with leaving it as is.

>> P.S. Ordinary Squeak client to remote https servers connections work fine on my linux machine. Wireshark shows TLS 1.3 connections.
>
> Depends on your OpenSSL library version :)

I realised that :)
I just meant that it support the latest TLS 1.3 without needing any
changes. I was concerned that SqueakSSL would need updated for that and
that's *definitely* something I don't want to touch.

Thanks