# Custom Certificate

**URL:** <https://community.blockcerts.org/t/custom-certificate/2983>\
**Category:** Uncategorized\
**Created:** [October 25, 2021, 10:43am UTC](https://community.blockcerts.org/t/custom-certificate/2983 "2021-10-25T10:43:32Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![sreenumalae](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/sreenumalae/32/773_2.png) [@sreenumalae](https://community.blockcerts.org/u/sreenumalae)\
**Post date:** [October 25, 2021, 10:43am UTC](https://community.blockcerts.org/t/custom-certificate/2983/1 "2021-10-25T10:43:32Z")

</div>

Instead of creating a certificate using different logos. I have an LMS where I create a certificate.  
Is it possible to pass that certificate to BlockCerts and authenticate that certificate using blockchain?

---

<div class="post-metadata">

**Author:** ![lm-mc](https://avatars.discourse-cdn.com/v4/letter/l/5fc32e/32.png) [@lm-mc](https://community.blockcerts.org/u/lm-mc)\
**Post date:** [November 2, 2021, 4:02pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/2 "2021-11-02T16:02:19Z")

</div>

Hi @sreenumalae

It depends, what format is your certificate?  
You can issue your certificate as a Blockcerts document with `cert-issuer` ([GitHub - blockchain-certificates/cert-issuer: Issues Blockcerts using either the Bitcoin or Ethereum blockchain](https://github.com/blockchain-certificates/cert-issuer)).

---

<div class="post-metadata">

**Author:** ![TeacherJavier](https://avatars.discourse-cdn.com/v4/letter/t/fbc32d/32.png) [@TeacherJavier](https://community.blockcerts.org/u/TeacherJavier)\
**Post date:** [November 5, 2021, 6:05pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/3 "2021-11-05T18:05:58Z")

</div>

Hi to everyone.

I’m new here, but I come here looking for solutions too, and I also could try to help.

In my company, we’ve done this before with student diplomas for a business school, we’ve put the hashes of the diplomas (.PNG files) in the Blockchain through a third-party API, that in fact from everything I’ve seen on this project, it uses the same approach than Blockcerts cert-issuer, but it writes the hash of the given file.

You have to read the file in binary mode, calculate the hash (sha\_256) and then perform the rest of the operations to populate the merkle tree of hashes and write it in the Blockchain.

If you need any help with this, please, tell me. I’m sure I could help you to get it working.

---

<div class="post-metadata">

**Author:** ![sreenumalae](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/sreenumalae/32/773_2.png) [@sreenumalae](https://community.blockcerts.org/u/sreenumalae)\
**Post date:** [November 11, 2021, 5:20am UTC](https://community.blockcerts.org/t/custom-certificate/2983/4 "2021-11-11T05:20:07Z")

</div>

Hi @TeacherJavier @lm-mc

In cert-issuer, we only sign the unsigned certificates.  
In order to create unsigned certificates, we use cert-tools where few data was mandatory instead of a single PNG (certificate).  
on the other hand, Bitcoin and Ethereum are too costly.  
Is there any other option (maybe which is not a traded crypto ) or something else?

---

<div class="post-metadata">

**Author:** ![TeacherJavier](https://avatars.discourse-cdn.com/v4/letter/t/fbc32d/32.png) [@TeacherJavier](https://community.blockcerts.org/u/TeacherJavier)\
**Post date:** [November 11, 2021, 3:38pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/5 "2021-11-11T15:38:58Z")

</div>

You could try to write the operation in other Blockchain, as Polygon (I’ve heard it has no fees, but I’m not sure) or in a Blockchain testnet instead of mainnet, but I don´t if this will serve to your use case.

We used a third-party API to write in Ethereum Blockchain because to put data directly it’s indeed too expensive because of gas fees.

---

<div class="post-metadata">

**Author:** ![lemoustachiste](https://avatars.discourse-cdn.com/v4/letter/l/7c8e57/32.png) [@lemoustachiste](https://community.blockcerts.org/u/lemoustachiste)\
**Post date:** [November 15, 2021, 7:41am UTC](https://community.blockcerts.org/t/custom-certificate/2983/6 "2021-11-15T07:41:24Z")

</div>

I know some people have used polygon.  
I am not certain how you would configure cert-issuer in that regard, you’d have to dig into the code yourself.

I’ve got somewhere the code for verifying a polygon anchored transaction but I need to find it, using the `explorerAPI` property. Please remind me if I forget to share it.

---

<div class="post-metadata">

**Author:** ![sreenumalae](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/sreenumalae/32/773_2.png) [@sreenumalae](https://community.blockcerts.org/u/sreenumalae)\
**Post date:** [December 7, 2021, 8:52am UTC](https://community.blockcerts.org/t/custom-certificate/2983/7 "2021-12-07T08:52:05Z")

</div>

@lemoustachiste @TeacherJavier @lm-mc  
I will try to use polygon as well.  
But I’m looking for an answer, How can I validate my degree certificate(PNG file) using blockcerts ?

---

<div class="post-metadata">

**Author:** ![lemoustachiste](https://avatars.discourse-cdn.com/v4/letter/l/7c8e57/32.png) [@lemoustachiste](https://community.blockcerts.org/u/lemoustachiste)\
**Post date:** [December 7, 2021, 3:08pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/8 "2021-12-07T15:08:36Z")

</div>

> How can I validate my degree certificate(PNG file) using blockcerts ?

What do you mean by that?  
Do you want to embed and issue a PNG certificate with blockcerts?  
Or do you want to verify a PNG that was given to you? Was that document a Blockcerts?

---

<div class="post-metadata">

**Author:** ![lemoustachiste](https://avatars.discourse-cdn.com/v4/letter/l/7c8e57/32.png) [@lemoustachiste](https://community.blockcerts.org/u/lemoustachiste)\
**Post date:** [December 7, 2021, 3:16pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/9 "2021-12-07T15:16:16Z")

</div>

I see you former question. If you want to issue a PNG document with Blockcerts, you have 2 options:

- with v2 (soon to be outdated): add the image as a base64 into the `displayHtml` property, ie:  
`<img src='data:image/png;base64,...imageContent'/>`
- with v3 (soon to be released): add the image in the `display` property as follows:

```auto
     display: {
         content: "...base64EncodedContent",
         contentEncoding: "base64",
         contentType: "image/png"
     }

```

---

<div class="post-metadata">

**Author:** ![lemoustachiste](https://avatars.discourse-cdn.com/v4/letter/l/7c8e57/32.png) [@lemoustachiste](https://community.blockcerts.org/u/lemoustachiste)\
**Post date:** [December 7, 2021, 3:27pm UTC](https://community.blockcerts.org/t/custom-certificate/2983/10 "2021-12-07T15:27:07Z")

</div>

I have found the matic example but it looks a bit wacky, I need to spend time to make sure it works as intended.

---

<div class="post-metadata">

**Author:** ![sreenumalae](https://sea2.discourse-cdn.com/flex016/user_avatar/community.blockcerts.org/sreenumalae/32/773_2.png) [@sreenumalae](https://community.blockcerts.org/u/sreenumalae)\
**Post date:** [January 24, 2022, 6:09am UTC](https://community.blockcerts.org/t/custom-certificate/2983/11 "2022-01-24T06:09:58Z")

</div>

@lemoustachiste

I will look into both options and I will update you asap.

---

<div class="post-metadata">

**Author:** ![iSunnyAli](https://avatars.discourse-cdn.com/v4/letter/i/7ba0ec/32.png) [@iSunnyAli](https://community.blockcerts.org/u/iSunnyAli)\
**Post date:** [April 4, 2026, 2:45am UTC](https://community.blockcerts.org/t/custom-certificate/2983/12 "2026-04-04T02:45:23Z")

</div>

@TeacherJavier i need guide on that. would you please help ?
