Products · Product
OpenSSL
Raised as a usability problem by 47 people on Hacker News over 14 years (2013–2026), in 43 threads.
No issue was raised by at least 3 people in 3 threads this year.
No issue was raised by at least 3 people in 3 threads in the last 5 years.
Every issue, all time, most people first
Command-line interface is hard to use for creating certificatesUnreviewed
20132026- Self-signed certificate setup with a custom CA is horribly hard to do with its CLI tools2026-01-30
- Running a private CA with openssl means hard, unpleasant CLI commands2022-01-05
- OpenSSL's command-line interface is terrible to use for creating certificates2018-04-29
API is undocumented, making it hard for developers to useUnreviewed
20132026- Difficult API that is hard to use and poorly documented2025-03-24
- API is hostile to use and the documentation is awful2016-12-20
- Public API design is terrible, making it hard for developers to use2016-10-20
Easy to use incorrectly, so developers implement it wrongUnreviewed
20132026- Hard to use correctly; poorly documented and examples are outdated2023-08-09
- Developer-facing code is poorly documented, so its behaviour is hard to understand2015-06-11
- Hard to use correctly, so developers implement it wrong2014-04-09
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Textual parameter names are opaque and confusing to choose correctly2026-04-15
- Self-signed certificate setup with a custom CA is horribly hard to do with its CLI tools2026-01-30
- Confusing, arcane, trap-laden config knobs that sysadmins can't get right2025-10-14
- The author finds the OpenSSL API confusing and cannot work out how to use it2025-06-30
- Difficult API that is hard to use and poorly documented2025-03-24
- Parameters are abstracted into OSSL_PARAM and docs point to unrelated defaults, making usage hard to figure out2025-03-23
- Commands are cryptic and hard to figure out how to use correctly2025-02-18
- One-off use requires searching the internet for the correct flags2025-01-27
- Has to google the correct command line options every time it is used2025-01-27
- Man page is overloaded, so users wanting to understand the commands get lost2025-01-27
- Can't find where bug fix listings are after site change2024-09-03
- Splitting a PEM cert bundle needs a convoluted shell loop because openssl reads one block from stdin2024-08-03
- Browsing the documentation is unpleasant and figuring out what to do is hard2023-12-23
- Hard to use correctly; poorly documented and examples are outdated2023-08-09
- Too many options; hard to find correct invocations and unsure if done right2023-07-11
- Certificate errors give unclear messages and no suggestion on how to fix them2023-06-28
- Deprecated APIs replaced by generic OSSL_PARAMS with no compile-time type checking and poor docs2023-06-16
- Command-line interface is unintuitive and hard to discover commands and parameters2023-01-04
- Function call interfaces are hard to use and error-prone, like a minefield2022-11-21
- Command-line tool and C API are incomprehensible, making the underlying standards seem far more complex than they are2022-09-30
- Command-line tools are hard to discover; GUI-style discoverability would help average users2022-06-11
- Text output and display options make no sense at this stage2022-06-10
- Too many options; unclear which settings are secure and docs assume expert knowledge2022-06-10
- Too many unnecessary settings and switches to configure2022-06-10
- Mechanically converted CLI options into widgets; user must set switches and checkboxes manually2022-06-10
- CLI doesn't follow normal conventions, lacks tab completion, and has obscure, terse docs2022-03-24
- Running a private CA with openssl means hard, unpleasant CLI commands2022-01-05
- Error messages are similar, making problems hard to troubleshoot2021-03-26
- Builds fail with compiler and linker errors; thousands of undefined-type errors on Linux2020-05-29
- Manual and codebase are so opaque that only crypto experts can operate it2019-11-17
- Too many options; makes it easy to do insecure things like skipping hostname checks2019-11-02
- API returns strange, inconsistent error codes and poor error reporting2019-06-26
- Help lists commands without descriptions or usage, so users can't tell what commands do2019-05-29
- Hard to know the correct order and behaviour for chaining BIOs and initialising things2019-05-29
- Layers of objects with many options and poor documentation make secure use hard2019-05-29
- Complicated invocation needing many arbitrary flags and defaults to create a localhost certificate2018-06-20
- OpenSSL's command-line interface is terrible to use for creating certificates2018-04-29
- Error codes use inconsistent int and long types needing different stringification functions2018-04-03
- Certificate generation with openssl is confusing and awful to use beyond simple CN certs2018-02-28
- Hard to find the openssl(1) documentation link; must click many links2017-12-28
- Clicking openssl leads to a manual page, but the real docs are hidden in a utilities list2017-12-28
- Function return values, memory freeing and parameters are unclear, requiring constant checking of docs2017-06-21
- API is hostile to use and the documentation is awful2016-12-20
- Public API design is terrible, making it hard for developers to use2016-10-20
- Huge flat list of top-level switches that are hard to learn and remember2016-07-24
- Openssl has so many options that users can't learn commands to generate self-signed certs2016-04-18
- Developer-facing code is poorly documented, so its behaviour is hard to understand2015-06-11
- Docs don't show proper setup for common crypto tasks, so users easily make mistakes2014-04-16
- Library is overly complex and hard for programmers to use correctly2014-04-13
- Error reporting is awful, so developers must add extra code to get useful information2014-04-12