# Let's Encrypt Staging Root

**URL:** <https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069>\
**Category:** Uncategorized\
**Created:** [April 11, 2016, 9:55pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069 "2016-04-11T21:55:08Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![kintner](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/kintner/32/900_2.png) [@kintner](https://community.letsencrypt.org/u/kintner)\
**Post date:** [April 11, 2016, 9:55pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/1 "2016-04-11T21:55:08Z")

</div>

Is the staging root certificate (CN=Fake LE Root X1) available somewhere?

I’m writing some tests and I need to validate the full chain and therefore I need the root certificate to complete the chain.

---

<div class="post-metadata">

**Author:** ![sahsanu](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/sahsanu/32/89984_2.png) [@sahsanu](https://community.letsencrypt.org/u/sahsanu)\
**Post date:** [April 11, 2016, 10:53pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/2 "2016-04-11T22:53:41Z")

</div>

Hello @kintner,

> [@kintner](#):
>
> Is the staging root certificate (CN=Fake LE Root X1) available somewhere?

You can find it here [https://acme-staging.api.letsencrypt.org/acme/issuer-cert](https://acme-staging.api.letsencrypt.org/acme/issuer-cert) or here [http://cert.stg-int-x1.letsencrypt.org/](http://cert.stg-int-x1.letsencrypt.org/)

Keep in mind that the certificate is in der (binary) format, if you want to convert it to pem format you could do it using something like this:

`curl -s https://acme-staging.api.letsencrypt.org/acme/issuer-cert | openssl x509 -inform der -outform pem -out FakeLERootX1.pem`

or

`curl -s http://cert.stg-int-x1.letsencrypt.org | openssl x509 -inform der -outform pem -out FakeLERootX1.pem`

Cheers,  
sahsanu

---

<div class="post-metadata">

**Author:** ![kintner](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/kintner/32/900_2.png) [@kintner](https://community.letsencrypt.org/u/kintner)\
**Post date:** [April 11, 2016, 11:01pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/3 "2016-04-11T23:01:21Z")

</div>

> [@sahsanu](#):
>
> [https://acme-staging.api.letsencrypt.org/acme/issuer-cert](https://acme-staging.api.letsencrypt.org/acme/issuer-cert)

Thanks @sahsanu but that's the intermediate certificate, right?

```nohighlight
$> curl -s https://acme-staging.api.letsencrypt.org/acme/issuer-cert | openssl x509 -inform der -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            8b:e1:2a:0e:59:44:ed:3c:54:64:31:f0:97:61:4f:e4
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN=Fake LE Root X1
        Validity
            Not Before: Mar 23 22:59:04 2016 GMT
            Not After : Mar 23 22:59:04 2036 GMT
        Subject: CN=Fake LE Intermediate X1

```

I'm looking for certificate that issued this certificate. A root certificate is issued by itself unless I'm missing something here.

---

<div class="post-metadata">

**Author:** ![sahsanu](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/sahsanu/32/89984_2.png) [@sahsanu](https://community.letsencrypt.org/u/sahsanu)\
**Post date:** [April 11, 2016, 11:14pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/4 "2016-04-11T23:14:32Z")

</div>

> [@kintner](#):
>
> I'm looking for certificate that issued this certificate

Sorry, I didn't read your question properly. I don't know if Fake LE Root X1 cert is publicly available maybe @jsha could help here 😉

---

<div class="post-metadata">

**Author:** ![jsha](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/jsha/32/12_2.png) [@jsha](https://community.letsencrypt.org/u/jsha)\
**Post date:** [April 11, 2016, 11:27pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/5 "2016-04-11T23:27:05Z")

</div>

```auto
curl http://cert.stg-root-x1.letsencrypt.org/ | openssl x509 -inform der -outform pem -text

```

---

<div class="post-metadata">

**Author:** ![kintner](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/kintner/32/900_2.png) [@kintner](https://community.letsencrypt.org/u/kintner)\
**Post date:** [April 12, 2016, 12:32am UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/6 "2016-04-12T00:32:29Z")

</div>

Thanks @jsha and @sahsanu! That’s exactly what I was looking for.

---

<div class="post-metadata">

**Author:** ![kjb](https://avatars.discourse-cdn.com/v4/letter/k/3e96dc/32.png) [@kjb](https://community.letsencrypt.org/u/kjb)\
**Post date:** [April 12, 2016, 6:57am UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/7 "2016-04-12T06:57:43Z")

</div>

Shouldn’t the CA Issuers link lead one all the way to the root?  
The one in the staging intermediate points to itself…

curl [http://cert.stg-int-x1.letsencrypt.org/](http://cert.stg-int-x1.letsencrypt.org/) | openssl x509 -inform DER -outform PEM -text | grep ‘CA Issuers’

CA Issuers - URI:[http://cert.stg-int-x1.letsencrypt.org/](http://cert.stg-int-x1.letsencrypt.org/)

---

<div class="post-metadata">

**Author:** ![jsha](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/jsha/32/12_2.png) [@jsha](https://community.letsencrypt.org/u/jsha)\
**Post date:** [April 12, 2016, 3:21pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/8 "2016-04-12T15:21:27Z")

</div>

Yep, this is a problem with the Fake LE Intermediate that we’re working on fixing.

---

<div class="post-metadata">

**Author:** ![dol](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/dol/32/3835_2.png) [@dol](https://community.letsencrypt.org/u/dol)\
**Post date:** [June 28, 2018, 11:03pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/9 "2018-06-28T23:03:53Z")

</div>

Any update on this? It looks like the link to the root cert is still missing.

---

<div class="post-metadata">

**Author:** ![stevenzhu](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/stevenzhu/32/18864_2.png) [@stevenzhu](https://community.letsencrypt.org/u/stevenzhu)\
**Post date:** [June 28, 2018, 11:22pm UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/10 "2018-06-28T23:22:00Z")

</div>

> [@dol](#):
>
> Any update on this? It looks like the link to the root cert is still missing.

The root is still there. Please double check your command.

It should output a certificate like "Fake LE Root X1"

---

<div class="post-metadata">

**Author:** ![jsha](https://sea3.discourse-cdn.com/letsencrypt/user_avatar/community.letsencrypt.org/jsha/32/12_2.png) [@jsha](https://community.letsencrypt.org/u/jsha)\
**Post date:** [June 29, 2018, 1:54am UTC](https://community.letsencrypt.org/t/lets-encrypt-staging-root/14069/11 "2018-06-29T01:54:52Z")

</div>

@dol are you talking about the HTTP header `Link: rel="up"`? If so, it’s expected that the root certificate is not referenced in that way, because ACME clients are supposed to build certificate chains by following the Link headers, and such chains are not supposed to include the root.
