# I have a hosting company I want Let'sEncrypt Certificates

**URL:** <https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545>\
**Category:** Help\
**Created:** [July 16, 2020, 2:10am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545 "2020-07-16T02:10:52Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 2:55am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/63 "2020-08-05T02:55:25Z")

</div>

> **[How to install an SSL certificate](https://support.infinityfree.net/https/how-to-install-an-ssl-certificate/)**
>
> In order to get a padlock in the address bar in your website, you need to install an SSL certificate on your account. This article describes how to do that.

See this support article. (@9peppe)

---

<div class="post-metadata">

**Author:** ![freessltools.com](https://avatars.discourse-cdn.com/v4/letter/f/cdc98d/32.png) [@freessltools.com](https://community.letsencrypt.org/u/freessltools.com)\
**Post date:** [August 5, 2020, 3:11am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/64 "2020-08-05T03:11:20Z")

</div>

> [@Sarveshmrao](#):
>
> @freessltools.com,  
> If I don't resubmit CSR then how will I click the validate button?

You should just leave the web page open on the second page with the Validate button while you add your txt records then click Validate once you're done adding the records. No need to start back at the first page to resubmit your CSR.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 3:41am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/65 "2020-08-05T03:41:52Z")

</div>

@freessltools.com I understand that, while I do through your website but I want to integrate the same or something like yours in the client area in my hosting company website.

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 6:48am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/66 "2020-08-05T06:48:24Z")

</div>

> [@Sarveshmrao](#):
>
> See this support article. (@9peppe)

There is one interesting bit -- the rest is usual cPanel rubbish:

> InfinityFree can provide you with free SSL certificates

Are those usable? Can they provide and install them automatically?

I see another interesting bit:

> Most certificate vendors will ask you to install the CA chain certificates as well. These are not supported on InfinityFree and cannot be installed.

Change provider immediately.

> However, most browsers will recognize certificates from popular certificate issuers without a certificate chain as well, so you do not need the CA chain. Only certain outdated browsers may not properly recognize the certificates.

Yeah, outdated **and mobile**.

> If you insist on using CA certificate chains, you could consider to upgrade to premium hosting, where you can install your own certificates including their CA chains, as well as get fully automatic free SSL from Let's Encrypt.

This is bullshit. Taking a free non-profit service and reselling it at a premium.

Probably legal, but it should reflect **badly** on those who do it.

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 6:52am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/67 "2020-08-05T06:52:10Z")

</div>

> [@freessltools.com](#):
>
> Not sure why they’d be redirecting a basic GET request like this.

Assume they want to give Let's encrypt certificates to all their clients, without controlling their dns: they redirect `.well-known/acme-challenge/` and validate via http-01 on their client''s behalf, then they install the certificate.

I suspect it's not what they do. It could be a lot easier with a website to run tests on.

* * *

(edit: we do have one, it responds `403 Forbidden` and another user has issues with this hosting provider: [ZeroSSL Wont verify my domain](https://community.letsencrypt.org/t/zerossl-wont-verify-my-domain/130225) )

I hate them:  
(first command from firefox console, copy as cURL)

```plaintext
peppe at lemure in ~ 
% curl -IL 'http://notestorage.cf/.well-known/acme-challenge/404' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Connection: keep-alive' -H 'Cookie: __cfduid=d18a2838a301ff4f451f8d57508dbf9ca1596611667' -H 'Upgrade-Insecure-Requests: 1' -H 'DNT: 1' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache'
HTTP/1.1 302 Found
Date: Wed, 05 Aug 2020 07:19:08 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: https://infinityfree.net/errors/404/
Cache-Control: max-age=0
Expires: Wed, 05 Aug 2020 07:18:17 GMT
CF-Cache-Status: DYNAMIC
cf-request-id: 045f1606b30000cd22f2326200000001
Server: cloudflare
CF-RAY: 5bdebf845d27cd22-FCO

HTTP/2 200 
date: Wed, 05 Aug 2020 07:19:08 GMT
content-type: text/html
set-cookie: __cfduid=d71a2eae98dc5b71d5d4ac2743c581d2a1596611948; expires=Fri, 04-Sep-20 07:19:08 GMT; path=/; domain=.infinityfree.net; HttpOnly; SameSite=Lax; Secure
vary: Accept-Encoding
last-modified: Sun, 02 Aug 2020 12:41:11 GMT
expires: Thu, 01 Jan 1970 00:00:01 GMT
cache-control: no-cache
strict-transport-security: max-age=15724800; includeSubDomains
cf-cache-status: DYNAMIC
cf-request-id: 045f1608e00000cd16ac91d200000001
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
x-content-type-options: nosniff
server: cloudflare
cf-ray: 5bdebf87c8cfcd16-FCO
content-encoding: br

peppe at lemure in ~ 
% curl -IL http://notestorage.cf/.well-known/acme-challenge/404
HTTP/1.1 403 Forbidden
Date: Wed, 05 Aug 2020 07:17:00 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=d624aa8d974e9651465376dc64510acd11596611820; expires=Fri, 04-Sep-20 07:17:00 GMT; path=/; domain=.notestorage.cf; HttpOnly; SameSite=Lax
Vary: Accept-Encoding
CF-Cache-Status: DYNAMIC
cf-request-id: 045f1412290000cd429b06e200000001
Server: cloudflare
CF-RAY: 5bdebc637c9ccd42-FCO

```

---

<div class="post-metadata">

**Author:** ![freessltools.com](https://avatars.discourse-cdn.com/v4/letter/f/cdc98d/32.png) [@freessltools.com](https://community.letsencrypt.org/u/freessltools.com)\
**Post date:** [August 5, 2020, 8:14am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/68 "2020-08-05T08:14:56Z")

</div>

> [@9peppe](#):
>
> `http://notestorage.cf/.well-known/acme-challenge/404`

I just copied and pasted that address in my browser just out of curiosity and got redirected to a 404 page. Why did you get a 403 response?

edit: I see that you got a 302 first. Guess that's the redirect, but it resulted in a 200? Was only the browser difference the cause?

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 8:29am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/69 "2020-08-05T08:29:45Z")

</div>

Yes,

- Firefox gets 302 -\> 200
- cURL gets 403

---

<div class="post-metadata">

**Author:** ![freessltools.com](https://avatars.discourse-cdn.com/v4/letter/f/cdc98d/32.png) [@freessltools.com](https://community.letsencrypt.org/u/freessltools.com)\
**Post date:** [August 5, 2020, 8:31am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/70 "2020-08-05T08:31:12Z")

</div>

> [@9peppe](#):
>
> `Location: https://infinityfree.net/errors/404/`

You were successfully redirected... to 404. 😋 God I hate it when servers are configured to do that.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 9:45am UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/71 "2020-08-05T09:45:59Z")

</div>

Anyone please tell me what I can do on this.

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 12:24pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/72 "2020-08-05T12:24:25Z")

</div>

Probably nothing, seeing that your parent company made the system this way on purpose, to _sell_ the possibility to get a let’s encrypt certificate.

Ask their support, please, and report back.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 2:32pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/73 "2020-08-05T14:32:38Z")

</div>

@9peppe  
What should i ask the support?

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 2:44pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/74 "2020-08-05T14:44:07Z")

</div>

@freessltools.com and @9peppe will this work:

> **[afosto/yaac](https://github.com/afosto/yaac)**
>
> Yet another ACME client. Contribute to afosto/yaac development by creating an account on GitHub.

  
for what I asked like breaking and continuing???

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 2:59pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/75 "2020-08-05T14:59:56Z")

</div>

> [@Sarveshmrao](#):
>
> What should i ask the support?

"Hi, I am a reseller of yours and I want to give my clients tls certificates via an ACME automated certification authority. Can you tell me what can I do to achieve such goal?"

Before telling them this, you should go on your test website (give us the address) and create a `.well-known/acme-challenge/hi-peppe-im-here.html` file, then check if you can open it from the web, both via human browser and via curl. (give us the address)

> [@Sarveshmrao](#):
>
> @freessltools.com and @9peppe will this work:

That's just another acme client. If one works, they all do. Which one is better for you depends on your system and your convenience.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 3:58pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/76 "2020-08-05T15:58:04Z")

</div>

@9peppe

> [@9peppe](#):
>
> Before telling them this, you should go on your test website (give us the address) and create a `.well-known/acme-challenge/hi-peppe-im-here.html` file, then check if you can open it from the web, both via human browser and via curl. (give us the address)

Done my website is smrfreehost.ml.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 3:59pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/77 "2020-08-05T15:59:01Z")

</div>

@9peppe

> [@9peppe](#):
>
> That’s just another acme client. If one works, they all do. Which one is better for you depends on your system and your convenience.

Okay ! 👍 . Then which-ever the client everything will work. Am I right?

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 4:05pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/78 "2020-08-05T16:05:40Z")

</div>

> [@9peppe](#):
>
> `.well-known/acme-challenge/hi-peppe-im-here.html`

ok, the file is visible [http://smrfreehost.ml/.well-known/acme-challenge/hi-peppe-im-here.html](http://smrfreehost.ml/.well-known/acme-challenge/hi-peppe-im-here.html)

this means that you can use an acme client yourself. there are several that can validate via http-01 connecting via ftp to your web space, and then use the cpanel api to install the certificates. check the acme.sh wiki.

---

<div class="post-metadata">

**Author:** ![Sarveshmrao](https://avatars.discourse-cdn.com/v4/letter/s/e47c2d/32.png) [@Sarveshmrao](https://community.letsencrypt.org/u/Sarveshmrao)\
**Post date:** [August 5, 2020, 4:10pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/79 "2020-08-05T16:10:11Z")

</div>

Which article do you want me to refer in the acme.sh wiki.  
I visited

> **[acmesh-official/acme.sh](https://github.com/acmesh-official/acme.sh/wiki)**
>
> A pure Unix shell script implementing ACME client protocol - acmesh-official/acme.sh

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 5:41pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/80 "2020-08-05T17:41:12Z")

</div>

I’m sorry, acme.sh can’t get certificates for remote servers, but it can deploy to cPanel. [https://github.com/acmesh-official/acme.sh/wiki/deployhooks#7-deploy-to-cpanel-host-using-uapi](https://github.com/acmesh-official/acme.sh/wiki/deployhooks#7-deploy-to-cpanel-host-using-uapi)

Getssl can get certificates for remote servers, though, via ftp: [https://github.com/srvrco/getssl](https://github.com/srvrco/getssl)

If you can script a deploy script building on the acme.sh deployhook, you’re golden.

---

<div class="post-metadata">

**Author:** ![freessltools.com](https://avatars.discourse-cdn.com/v4/letter/f/cdc98d/32.png) [@freessltools.com](https://community.letsencrypt.org/u/freessltools.com)\
**Post date:** [August 5, 2020, 6:03pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/81 "2020-08-05T18:03:14Z")

</div>

@Sarveshmrao @9peppe

Seems like good things have happened while I was away. I’m assuming you tested via curl as well peppe. So we’ve established that manual DNS will work and are working towards semi-automated http.

A local client in this case can:

- Create a Let’s Encrypt account for each user
- Generate a private key and CSR from a user’s config (which could vary per user if they have subdomains)
- Perform the acme certification process including creating challenge files itself thus removing the need for manual intervention to acquire the certificate

A local client in this case cannot:

- Automate DNS challenges

Is there a way for a local client in this case to:

- Install a private key and certificate

---

<div class="post-metadata">

**Author:** ![9peppe](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/9peppe/32/31596_2.png) [@9peppe](https://community.letsencrypt.org/u/9peppe)\
**Post date:** [August 5, 2020, 7:11pm UTC](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545/82 "2020-08-05T19:11:26Z")

</div>

> [@freessltools.com](#):
>
> I’m assuming you tested via curl as well

You assumed wrong, my bad:

```plaintext
% curl -IL http://smrfreehost.ml/.well-known/acme-challenge/hi-peppe-im-here.html
HTTP/1.1 403 Forbidden
Server: nginx
Date: Wed, 05 Aug 2020 19:10:02 GMT
Content-Type: text/html
Content-Length: 146
Connection: keep-alive
Vary: Accept-Encoding

```

[Previous page](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545.md?page=3)

[Next page](https://community.letsencrypt.org/t/i-have-a-hosting-company-i-want-letsencrypt-certificates/128545.md?page=5)
