安全与隐私smallstep.com
如果 OpenSSL 有图形界面
If OpenSSL were a GUI
2022 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇文章把 OpenSSL 命令行工具想象成一个图形界面:作者用大量截图展示了一个布满 45 个标签页、密密麻麻选项的假想 GUI,以此直观呈现 OpenSSL CLI 庞大而混乱的功能面。它与其说是改进可用性的提案,不如说是对 OpenSSL 复杂度的讽刺性可视化。
为什么经久不衰:它用幽默的方式揭示了一个安全关键工具过度复杂的经典案例,多年后仍是讨论 CLI 设计与密码学工具易用性时被反复引用的例子。
HN 评论精选
OpenSSL CLI 本质是库的诊断工具集合,正确做法是用 certbot/mkcert 等专用工具,而非给它做更好的界面。
这很有趣,但 OpenSSL CLI 在很大程度上只是一系列针对库功能的实用/驱动/诊断程序,这些功能本来就不打算单独使用。它是生成证书的行业标杆,只是因为行业并不理解证书;大多数人其实应该只用 certbot 和 mkcert。让我有点不舒服的是那种“想要一个设计良好的 OpenSSL CLI 版本”的想法。坏主意!你需要的是把一件事做好的工具,而不是一个在底层密码学 API 上套一层 getopt() 薄壳的大杂烩。
tptacek查看英文原文
This is funny, but the OpenSSL CLI is in large part just a series of utility/driver/diagnostic programs for library functionality that isn't expected to be used on a standalone basis. It's the industry standard for generating certificates, but that's because the industry doesn't understand certificates; most people should be using nothing but certbot and mkcert. What bugs me a little is the idea that you might want a well-designed version of what the OpenSSL CLI offers. Bad idea! You want tools designed to do one thing well, not one tool that offers a thin layer of getopt() over a low-level cryptography API.
这是对 OpenSSL 复杂度的讽刺,而非可用性提案——单个安全关键工具不该有如此庞大的功能面。
我觉得大家完全没抓住重点。这个 GUI 原型不是关于提升可用性,而是对 OpenSSL 复杂得可怕的评论。可见标签页的选项用作者的话说只是“OpenSSL 某个角落 80% 的功能”,而界面上有 45 个标签页。在我屏幕上这一个标签页就超过两页长,如果其他标签页长度相当,总共约有 100 页的选项。对一个安全关键程序来说,这种复杂度实在太多了。
AdamH12113查看英文原文
I think people are wildly missing the point here. This GUI mock-up is not about improving usability, it's a comment on the hideous complexity of OpenSSL. The visible tab's options represent, in the words of the author, "80% of one corner of OpenSSL’s functionality". There are 45 tabs shown. On my monitor, this one tab is over two pages long. If the other tabs average out to a similar length, there would be around 100 pages of options available. That is too much complexity for a single security-critical program.
OpenSSL CLI 违背 Unix 单一职责哲学,是个随时可能伤到使用者的巨型瑞士军刀。
这不是对 GUI 的赞美,而是对 OpenSSL 的控诉。它完全违背了 *NIX 哲学:不要只把一件事做好,而是要做一把瑞士军刀——还是你见过的最大的那种,很多刀刃半伸出来,让你随时可能割伤自己。
greyhair查看英文原文
That isn't a praise of GUIs, it is a damnation of OpenSSL The exact opposite of *NIX philosophy. Don't do just one thing well, be Swiss Army knife, the largest one you have ever seen, with a lot of the blades poking part way out, so you may lacerate yourself at any moment.
优秀 GUI 极难设计,以 Fusion 360 为例说明好的 UI 需妥善处理选项间的正交与条件关系。
真正出色的 GUI 设计非常难。我用过的应用里,很少有 UI 在正交性与条件性选项的呈现效率上能胜过 CLI 的。目前为止我用过最好的 UI 是 Fusion 360:学习曲线陡峭,但在参数设置对话框上把正交和条件选项处理得很好。我很想喜欢 Blender,但它几乎所有东西都感觉和我习惯的方式差了 90 度。
dekhn查看英文原文
Truly great GUI design is very challenging. I've used very few applications which I think have a truly great UI that beats the CLI in terms of the efficiency of presenting options in orthogonal and conditional ways (orthogonal: two features which don't interact at all can usually be programmed independently and appear in distinct locations, while conditional: options that are only valid if another option is set to a specific value). The best UI I've worked with so far is Fusion 360. Like most 3d modelling tools it has a fairly steep learning curve, but it does a fantastic job of making your life easier. It has a bunch of UI dialogs for parameter setting (some of which are better than others) that do a good job with both orthogonality and conditionality. I really wanted to like blender but just about everything in it feels rotated 90 degrees to how I'd do it.
历次讨论
同类还值得读
非法素数
Illegal prime
维基百科条目,介绍“非法素数”:某些素数之所以被称为“非法”,是因为它们经特定编码后,恰好对应一段被法律禁止传播的数据——最著名的是 DVD 解密程序 DeCSS 的代码,有人把…
安全与隐私上首页 5 次 · 2010–2021en.wikipedia.org编辑精选关于 /dev/urandom 的常见误区
Myths about /dev/urandom
(Thomas Hühn 撰写,2014 年首发并持续更新)逐条反驳关于 /dev/urandom 的常见误解:它与 /dev/random 使用的是同一个 CSPRNG,一旦完…
安全与隐私上首页 5 次 · 2014–20202uo.de编辑精选AES 高级加密标准火柴人图解
A Stick Figure Guide to the Advanced Encryption Standard (AES)
一篇用火柴人漫画形式讲解 AES(高级加密标准)算法的经典科普文章。
安全与隐私上首页 5 次 · 2009–2022moserware.com编辑精选指纹是用户名,不是密码
Fingerprints are Usernames, not Passwords
作者(eCryptfs 维护者、Ubuntu 安全工程师)认为指纹等生物特征是公开、不可更改的标识,应视作用户名而非密码,不能当作秘密凭据用于认证。
安全与隐私上首页 4 次 · 2013–2017blog.dustinkirkland.comHTTPS 连接的最初几毫秒(2009)
The First Few Milliseconds of an HTTPS Connection (2009)
逐毫秒拆解一次 HTTPS 连接建立时发生了什么,重点讲 TLS 握手、证书验证、RSA 签名与密钥协商等机制,面向不熟悉该领域的读者。
安全与隐私上首页 4 次 · 2009–2020moserware.com编辑精选