Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add compatability with certbot #386

Closed
non7top opened this issue Nov 15, 2016 · 18 comments
Closed

Add compatability with certbot #386

non7top opened this issue Nov 15, 2016 · 18 comments

Comments

@non7top
Copy link
Contributor

non7top commented Nov 15, 2016

Certbot is kind of default implementation and it would be very cool if acme.sh could by used as a direct drop in replacement.

Here is a typical command line for certbot. Most options are mostly the same with minor differences.

/usr/local/bin/certbot certonly -n --text --agree-tos --expand --authenticator webroot --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@example.org --domains example.org --domains www.example.org --webroot-path /interface/acme

@Neilpang
Copy link
Member

@non7top

If there is any useful option that certbot has but acme.sh doesn't have, please feel free to create issue here.

But it's never our goal to keep the compatability with certbot. I really don't like how certbot works, that's why I wrote acme.sh.

@FernandoMiguel
Copy link

Neil I'm curious what those things you don't like about certbot are (besides the huge number of dependencies)

@Neilpang
Copy link
Member

@FernandoMiguel

When I first knew certbot, it wasted my whole weekend to install it on my server, and it's also a big pain to read the doc, the commandline options is not obvious to starters. And there was even not a doc tell me how to start.

When I searched the web, I found everywhere something like:

letsencrypt  certonly  -- .........

Nobody explained how it worked. They just copied and pasted.
and it was also really silly to use the parameter certonly here.

Why was there a certonly ? Does that mean the letsencrypt client can do something else other than issuing a cert ? Imaging I'm a new starter who just heard about letsencrypt, what am I expecting letsencrypt client to do for me? Yes, you know, I just need a cert.

As in my point of view, the parameters/usage of letsencrypt client is designed at the programmer's point of view. They think little about what the end users really want. They had not done enough to make things easy/happy enough for the user.

Almost in every articles/posts that introduced the letsencrypt client, I could see that: the user must install the client step by step, must edit some config files by hand, must know what cronjob is, must write their own cronjob and renew-script to renew certs. They must know this and that, they must do this and that.

It was a big waste of time for the users. It's too expensive. Come on, they just need a cert, right ?

The situation might be better from then to now, but I never read any docs about certbot anymore from then on.

So, I started read acme protocol, and knew that things are dead simple. It should not be as complicated as letsencrypt client made.

Then I started acme.sh, to make thing simple, easy and stupid. To save everybody's time.

@FernandoMiguel
Copy link

i spent a couple of hours this weekend (so latest documentation available) trying to figure out how to do DNS01 with letsencrypt client... gave up

and that's why i keep on using acme.sh.... amazing support, very light install, great documentation, and does the job

@Neilpang
Copy link
Member

@FernandoMiguel

Thanks. Yes, that's what I'd like to see.

Another pain was that the letsencrypt client must run as root, and it upgraded every software it needs on my system !!!!!! It's a crazy behaviors. It probably could kill the system.

It's my goal to save everybody's time. Time is expensive for you, me and evey one.

If it costs more than 1 hours for me to get a 3 months cert, why don't I spend $1 usd to buy a 1 year cert from comodo ?

Sorry about my too many complains.

@FernandoMiguel
Copy link

hey, i'm the one that asked :)
keep up the great work.

@tavinus
Copy link

tavinus commented Dec 3, 2016

Hi, sorry to hijack, but I was wondering how would I go about replacing certbot with acme.sh?

Should I just apt-get remove certbot --purge and then re-issue and re-install my certs with acme.sh? Would the current certificates be replaced with new ones? Is that a problem? (to "re-issue" before 3 months from another program).

Some domains would be the same as before (with certbot), but I have a few subdomains to add to the chain. Love acme.sh and have been using on a few installs, but this one was before I knew about acme.sh.

@Neilpang
Copy link
Member

Neilpang commented Dec 3, 2016

@tavinus

Yes, you can remove certbot or just forget it.

Just install acme.sh and there would be not problems.

@enzomich
Copy link

enzomich commented Feb 6, 2017

Talking about the "--expand" option in certbot: is there a recommended way to add domains to an existing certificate with acme.sh?

@Neilpang
Copy link
Member

Neilpang commented Feb 6, 2017

@enzomich
What is the option "--expand" used for ?

@enzomich
Copy link

enzomich commented Feb 6, 2017

@Neilpang To add domains to existing certificates. See e.g. http://stackoverflow.com/questions/38302401/letsencrypt-add-domain-to-existing-certificate

@Neilpang
Copy link
Member

Neilpang commented Feb 6, 2017

why not use --issue to issue a new one ?

@Neilpang
Copy link
Member

Neilpang commented Feb 6, 2017

@enzomich

@enzomich
Copy link

enzomich commented Feb 6, 2017

With certbot, according to the stackoverflow page linked above, trying to reissue a certificate for an already existing domain (plus the one to be added) results in an error "Result: error folder test.example.com already exists", so I thought that the same was going to happen with acme.sh .

@Neilpang
Copy link
Member

Neilpang commented Feb 6, 2017

@enzomich
No, that would not happen in acme.sh

@enzomich
Copy link

enzomich commented Feb 6, 2017

OK thanks, I'll give it a try.

@bolera
Copy link

bolera commented May 26, 2018

but you have to --force a renewal (which can hit rate limits) when adding domains to an existing cert (=expanding), right?

@Neilpang
Copy link
Member

@bolera Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants