Hacker News new | ask | show | jobs
by blinkingled 3595 days ago
https://github.com/golang/go/commit/a62ae9f62fcfca02075b70e6...

> SystemCertPool returns an error on Windows. Maybe it's fixable later

This doesn't inspire confidence in Go as a cross platform language which is at version 1.7. If this is implemented in say 1.8, am I supposed to check for Go versions in order to know if the SystemCertPool func works or not? I mean why not just release it when it works on all tier-1 supported platforms?

3 comments

Thanks for the reminder. I've filed:

https://github.com/golang/go/issues/16736

We actually try hard not to do platform-specific stuff, but in this case it seemed worth it, considering the problems people were having with cert validations and how Windows differs in how it validates TLS connections.

Go is far better than most languages at supporting random system APIs. I mean, you can cross-compile code on Windows that uses Linux syscalls. Try doing that in Python. Actually I just Googled and I'm not sure Python even lets you use syscalls. I also couldn't even find any third party library to give you the system CA pool, let alone a first party one.

Tell me a language that has a first-party cross-platform library that allows you to get the system CA pool on all platforms.

My third-party Python library that gives access to the system CA trust store: https://github.com/wbond/oscrypto
>If this is implemented in say 1.8, am I supposed to check for Go versions in order to know if the SystemCertPool func works or not?

No, not really. Just compile the program with 1.8, and don't worry about the bugs in the past.