A certificate is a tamper-proof and verifiable collection of data that represents a process, a file/document, an accomplishment or any activity that can benefit from the immutability and authenticity.

Thanks to certificates, it allows you to assure any fact in your business case recording the information along with parameters that everyone can verify (e.g. signatures, issuance/expiration time, network evidences, etc..).

Every certificate is identified by a unique ID and is composed of three complementary but different parts: Data, Metadata and Access.

Data

Data contains the immutable information about the certificate: who issued it, when it was issued, when it will expire and of course what it is certified and what does it mean.

The certificate data contains the following fields:

FieldTypeOptionalDescription
namestringName of the certificate.
descriptionstringDescription of the certificate.
typestringType of the certificate.
contentobjectJSON of the certificate content. It contains the required information to be certified.
issuerstringIssuer of the certificate.
issuedOnintegerDate and time of issuance in which the certificate was issued (Unix format).
expiresintegerDate and time of expiration in which the certificate will expire (Unix format).
hashstringHash of the certificate.

Metadata

Metadata contains the additional information that feeds the certificate in order to update the status of the certificate (e.g. revocation, evidences) or to add required data to be valid and know how to verify it (e.g. signatures).

The certificate metadata contains the following fields:

FieldTypeOptionalDescription
typestringType of the transaction (Evidence/Signature/Revocation).
networkIdintegerID of the blockchain network.
smartContractstringAddress of the smart contract in the blockchain network.
transactionHashstringTransaction hash in the blockchain network.
trustPointHashstringHash of the evidence (trustpoint) in the blockchain network.
timestampintegerDate and time of the transaction in which the certificate was issued (Unix format).

Access

The property access contains the information to access the certificate. This information collects the personalized identifier of the certificate externalId if it has been established and its privacy.

Certificate access contain the following fields:

FieldTypeOptionalDescription
externalIdstringCustom identifier of the certificate. It can be used to access the certificate instead of the ID.
publicbooleanIndicates if the certificate is public or private.
certificatePinstringEncrypted pin for access to the certificate if it is private.