The sorry state of OpenSSL usability
jameshfisher.com
jameshfisher.com
This is plain wrong, it's particularly annoying as a great deal of effort has been put into updating the documentation [1].
> Instead, you just have to read the OpenSSL docs, and just hope the behavior is roughly the same.
I'll give the author the benefit of the doubt and assume they refer the "OpenSSL docs" as naming hasn't been changed, as opposed to looking at actual OpenSSL documentation. Indeed it doesn't make a great sense rename everything in the documents because as the LibreSSL website states.
libssl: a TLS library, backwards-compatible with OpenSSL
libtls: a new TLS library, designed to make it easier to write foolproof applications
[1] https://undeadly.org/cgi?action=article&sid=20161215221715[1]: https://www.google.co.uk/search?q=site%3Alibressl.org+docume...
I was always asuming that’s caused by the orginal programmers being more interested into the crypto algorithmics than building an actual useful tool. But what do I know.
My solution so far is to wrap crypto code into own modules and expose only the most simple interface for the job.
For the cli, especially openssl, I am relying on (customized) scripts to make common tasks easier, with my ultimate goal to not have to call openssl directly anymore.
You could write some documentation and give it to them. Or you could pay someone to write it for the project.
The author seems to know quite a bit about OpenSSL/LibreSSL. I'd think writing up a bit of documentation for it would be a win for everyone. Writing a blog complaining that the authors haven't done it and given it away for free is not.
Of course. What I'm getting at is "don't roll your own crypto" is one of the things that gives people a false sense of confidence in using the low-level crypto facilities. It might as well not be true for all the good it does the people it's supposed to help. I guess 'emphatically' is what I'm responding to, the 'don't roll' thing is, effectively, not that great either.
> (bso) larrik@local:~/bso$ openssl --help > openssl:Error: '--help' is an invalid command.
It lists a bunch of valid commands, though. Of course, you can't do `openssl help genrsa` or anything sensible like that.
$ openssl --help
Invalid command '--help'; type "help" for a list.
Maybe Linux Mint 18 is based on an older version.E.g. OpenSSL on OpenBSD does have a man page. But unfortunately no --help, at least on my older version.
Also, on OpenBSD his example of generating an RSA key creates one with a 2048 bit modulus.
Going to that website and clicking on openssl reveals a manual page. So, I guess the "literally isn’t any documentation" is wrong. OpenBSD likes their man pages.
Not sure what he's missing, I've always found OpenBSD's documentation to be first class.
Other links take you elsewhere. Like OpenBSD man pages for libs. He didn’t need a lib.
Yes, the LibreSSL pages contains in total 0 man/docs/wiki pages. Instead it points to external websites.
So, in order to find documentation, one would have to land on LibreSSL webpage and click on all links hoping to get to the correct one.
> Going to that website and clicking on openssl reveals a manual page
Please tell me where the very first OpenSSL link takes you. That's the one I clicked just to check.
Oh, right, it has to be the openssl(1), helpfully hidden away in the list of various utilities.
Are you referring to the line informing the reader that LibreSSL is a fork and provides a link the the OpenSSL project?
I strongly disagree that forks are making things worse. The solution to a project that is too difficult to fix due to baggage or a bad community or bad maintainers is to fork.
edit: Actually --help does start by saying --help is an invalid command but that's easy to miss because you then get a standard usage command with a basic summary to get you started.