Live data from Hacker News

Dehydrated: Letsencrypt/acme client implemented as a shell-script

github.com

61–70 of 111 posts

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#61

As a bash script actually, not a (implied POSIX) shell script. Do not mix these two.

> (implied POSIX) shell script

Why would POSIX be implied in any way? I mainly use windows, should I have been upset because I thought cmd or powershell was implied?

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#62
post #9

Earlier quoted context omitted.

If it is just a few curl and openssl commands, why make a user install hundreds of megs of python deps just to ultimately call mostly openssl commands anyway One of the biggest risks today is supply chain attacks. The more dependencies you have, the more people you are giving the ability to tamper with your critical code paths.

Wouldn't this bash script be just as susceptible to supply chain attacks? What dependencies does openssl, cURL, sed, grep, awk, mktemp pull in, and could it be vulnerable to attack like we saw with xz?

I’m pretty sure every open source repository ever created is vulnerable to “an attack like we saw with xz,” and by that I mean a labyrinthine, multi-year effort involving highly sophisticated exploits combined with psychological manipulation, coordinated sock-puppets, global actors, and deep intrigue—to the extent that it’s absurd to cite as a threat that “dependency management” can meaningfully prevent.

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#63
post #50

Apparently the author recently sold the project to a company called apilayer: https://lukas.im/2020/01/30/selling-dehydrated/index.html They plan to keep the project open source and employ Lukas to continue maintaining it.

APILayer = ZeroSSL

ZeroSSL are the only ones providing certificates for IP addresses and free year-long certificates. Cudos to them for disrupting this market, almost monopolized by letsencrypt. Don't have high hopes, though, big players probably will kill them as they killed other free certificate issuers. For some reason letsencrypt status-quo as the only free certificate issuer benefits big players.

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#64
post #2

Using it for years in DNS mode, works like a charm

Does DNS mode work to issue for internal servers that don't expose 80/443 to the internet?

That's one the main reasons to use it, another being wildcard certificate.

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#65
post #21

Earlier quoted context omitted.

With that rationale, why not use https://github.com/go-acme/lego which is a self contained lets encrypt client in Go?

Static binary, sure, but hardly a tiny supply chain attack surface: https://github.com/go-acme/lego/blob/master/go.sum Also their official builds are built with Alpine which is a hobby distro that does not even do signed code or packages.

Are you saying that any use of Alpine is, by definition, a supply-chain security problem?

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#66
post #45

Parsing json in shell? Easy! filter="$(printf 's/. \[%s\][[:space:]] \([^"]*\)/\\1/p' "$(json_path "${1:-}" "${2:-}")")" Please, no! How can you know this is safe? Why not just use Python? It is installed pretty much everywhere, supports json without such hacks.

> It is installed pretty much everywhere

Yes, but which version?

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#67
post #50

Earlier quoted context omitted.

APILayer = ZeroSSL

ZeroSSL are the only ones providing certificates for IP addresses and free year-long certificates. Cudos to them for disrupting this market, almost monopolized by letsencrypt. Don't have high hopes, though, big players probably will kill them as they killed other free certificate issuers. For some reason letsencrypt status-quo as the only free certificate issuer benefits big players.

The certificate for zerossl.com is also issued by Let's Encrypt.

https://crt.sh/?q=zerossl.com

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#68

What's the motivation behind closing file descriptors 3 and 4? # Close weird external file descriptors exec 3>&- exec 4>&- From this commit: https://github.com/dehydrated-io/dehydrated/commit/b116e6bc2...

When are those ever used? Is it to customize output for when you’re sending to a file vs terminal?

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#69

I don’t get why people are saying it’s hard to install Certbot. I just do: sudo apt install certbot python3-certbot-nginx And it “just works” on Ubuntu. The whole thing is super easy and takes around 1 minute to get a cert installed and configured with nginx.

Certbot just works? It has a ton of bugs.

Re: Dehydrated: Letsencrypt/acme client implemented as a shell-script

#70
post #45

Parsing json in shell? Easy! filter="$(printf 's/. \[%s\][[:space:]] \([^"]*\)/\\1/p' "$(json_path "${1:-}" "${2:-}")")" Please, no! How can you know this is safe? Why not just use Python? It is installed pretty much everywhere, supports json without such hacks.

> It is installed pretty much everywhere Yes, but which version?

Hase the json module api chnged in the past decades?
Post reply on HN