points by davidcollantes 1 day ago | 0 comments
Indeed!
On Mac, some command-line tools included with macOS or the Xcode Command Line Tools (including curl, git, python3, ruby, perl, and openssl) check certificates against /etc/ssl/cert.pem. For certificates that chain to a root CA certificate in this file, these tools don't check Apple's block or whether the certificate has been revoked. This file will be updated in a future macOS update. If you use these tools and don't want to wait for the update, you can remove root CA certificates from the file.[–] binaryturtle 1 day ago
Interestingly on a much older OS (Yosemite) cURL, etc. links to Security.framework which uses the system's trust store instead a separate .pem file in /etc/ssl (I can't find any .pem inside /etc/ssl)
I wonder why they stopped doing that and now just seem to do "standard" builds and end up with this (at least) 2 separate trust store situation.
[–] ChrisRR 1 day ago
[–] mike_hearn 1 day ago
Tools common on Linux like curl and git come with the OS basically for developer convenience. Apple doesn't write those programs, they don't use Apple's APIs or platform features, and thus in some sense you aren't really meant to use them in Apple's eyes. Ports of UNIX CLI tools exist in a kind of semi-supported netherworld on macOS. They run but they aren't fully integrated or supported parts of the OS.
[–] idkeickeixkeidj 10 hours ago
That doesn’t seem to be the case at all. I’d wager that in Apple’s eyes you’re very much meant to use these tools, they just expect you to know what you are doing if you go down this route.
[–] mikeocool 1 day ago
[–] xp84 1 day ago
[–] ratorx 1 day ago
This is technically a problem in the CLI - it needs to support revocations properly, not rely on root CA verification only. I’m not sure though whether there’s a standardised mechanism (that Apple supports) for CLIs.
> These steps affect every tool that uses /etc/ssl/cert.pem. Afterward, tools that use only this file might not be able to verify some websites whose certificates chain to these root CA certificates through intermediate CAs that weren't affected.
[–] matharmin 1 day ago
[–] zarzavat 1 day ago
[–] brewmarche 1 day ago
Not sure why macOS doesn’t ship such a build of curl.
[–] Orphis 1 day ago
[–] ChrisRR 1 day ago
[–] ratorx 1 day ago
So the only way to fix apps that don’t handle revocation of intermediates (eg the ones that only look at certs.pem) is to revoke the root.
[–] brewmarche 1 day ago
[–] xp84 1 day ago
Great, that’s fine. They can reissue.
[–] teki_one 1 day ago
[–] abujazar 1 day ago
[–] MomsAVoxell 1 day ago
The writing is on the wall for the command line tools.
(We can already see this tooling devaluation happening all over the place. Apple have their variant of this response to the AI tooling-paradigm tsunami…)
[–] JoBrad 1 day ago
[–] MomsAVoxell 1 day ago
I’m not saying they’re going to deprecate XCode today, but I do believe they will “agent’ize” Developer Tooling drastically in the next year or so. Agents are becoming the most important user of command line tools.
Because they have to, in order to catch up with NVidia, their only real competition. If you want to understand why I think that, its because I have been developing and deploying cross-platform Linux-centric (but MacOS and Windows targeting) applications, mostly for the ARM platform but also with Intel (SIMD on both) .. for the past few months, and I haven’t touched an IDE in a month. On DGX Spark. Which turns out is a truly, utterly, mind-blowingly great platform to do cross platform high performance application development…
[–] pasc1878 1 day ago
CLI is just a thing that NeXT had and even that made it easy to use GUI tools.
Xcode is a GUI tool – it happens to expose some cli tools but they could be covered up – however some developers would complain a lot so I don't see that happeneing.
[–] HFguy 1 day ago
[–] MomsAVoxell 1 day ago
The original question is, why aren’t Apple fixing the CA problems for the command line tools (whereas they have done it for .app’s such as Safari), and the reasoning is, because the user will just have to fix it themselves, because Apple don’t care about the command line users - they see that these command line tools are, indeed, becoming the front-line for agentic development, so .. presumably, they have an .app bundle which does away with this problem, to be shipped on the horizon ...
[–] zf00002 1 day ago
[–] MomsAVoxell 22 hours ago
Anyway, its just a theory.
[–] ilvez 1 day ago