Releases: TiiQu-Credentialing/Veriif
Releases · TiiQu-Credentialing/Veriif
QR Code Power!
Some fixes and using go mod for dep version control. But now with the power to verify QR codes!!
Click here for an example cert!
Or scan the QR code below:
Reformat of Errors and Fixed Error display bug
v0.5.1 Updated version number
API Mode
The certificate JSON can be sent directly to the /api
enpoint via a POST call
A public endpoint is available at https://verify.tiiqu.com/api
Success Example
Request
{
"data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2030",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "SECOND CLASS HONOURS (upper division)",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"hash": {
"hex": "c8892f37dfddb52e466074134acc2bd0e1d1deff1b0022d795d8f033112ef162",
"base64": "yIkvN9/dtS5GYHQTSswr0OHR3v8bACLXldjwMxEu8WI="
},
"merkle_proof": [
{
"right": {
"hex": "438ad89099b0a6af8cc5bd6c1bfa60893a29a88cfb7e300ce0af12fc8101f106",
"base64": "Q4rYkJmwpq+Mxb1sG/pgiTopqIz7fjAM4K8S/IEB8QY="
}
},
{
"right": {
"hex": "6342908ca505a1d0073e297c57bcb9280035a0878a9de1fccb6dc6d31ecec26a",
"base64": "Y0KQjKUFodAHPil8V7y5KAA1oIeKneH8y23G0x7Owmo="
}
}
],
"merkle_root": {
"hex": "53a4c3b02f2a4708d85bb4516323b2481543447f348e387bb4fd969bd170f205",
"base64": "U6TDsC8qRwjYW7RRYyOySBVDRH80jjh7tP2Wm9Fw8gU="
},
"key_type": "rsa",
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBCgKCAQEAwVWeU1wIF/WJUJFudx3iLXtaIbx3tCKwUz/hqy+4sEG/Ano+BbOJ\nmULM5eVsg0V2ce4YzsiZHrrRTELfYIWeRe7qukOo6/5FDQQyPX5JAMcQmsI9aYss\n5MScqhAeD3lCelVIrpn/D0mYd2W2CIBnmt07IlL25UGKmS+XFfXC5ngZ3Jbog46q\nS9gZFqAXfSLDhasL4CDU2MiU/lsAU2kLpr3yAVTySUtu5eyqAeSao/7njNHCkLeC\nQjez+DnEu6PJxe3b32XvppMWlPoNAFPmN7iAbG9IivlYNu7T6i9vrYuqsZVTomXe\n2amboP+wHaX2aWiI28zTD4K+YcVpDTyAXQIDAQAB\n-----END PUBLIC KEY-----\n",
"signature": {
"hex": "28fea1c603ff2f7887162c8166edc63f6a614afe07fdce43d9a5994030a32529db404a60cba642f33b3edcad9a0c8732c76e38fe1910cd487f14f58c7a6c1413d0129289f96e0f2522de2098885668fd588ddc4e3ccea7fcda2ef81b2b13f91eecea09774697e3e08bb3727700b83054ec5458db417d94fb5b5052e0a65be2518ede3b8244aea18953a8bf4ac4c8908f385d1dfd45161063acbb00ee864f6611ed42bf3bf3ede07e039837a5499456f5b404a58ab60816d5283deba2ab21af9f8fe2b5f8113ea38832be9363856c9b3fd0a52a85c19de87f3eb6c73fa093e88e78b573414c1eedc9a907669a7e22274d9cbdce1ad0fa94ea6a7ee2cbd96290ab",
"base64": "KP6hxgP/L3iHFiyBZu3GP2phSv4H/c5D2aWZQDCjJSnbQEpgy6ZC8zs+3K2aDIcyx244/hkQzUh/FPWMemwUE9ASkon5bg8lIt4gmIhWaP1YjdxOPM6n/Nou+BsrE/ke7OoJd0aX4+CLs3J3ALgwVOxUWNtBfZT7W1BS4KZb4lGO3juCRK6hiVOov0rEyJCPOF0d/UUWEGOsuwDuhk9mEe1Cvzvz7eB+A5g3pUmUVvW0BKWKtggW1Sg966KrIa+fj+K1+BE+o4gyvpNjhWybP9ClKoXBneh/PrbHP6CT6I54tXNBTB7tyakHZpp+IidNnL3OGtD6lOpqfuLL2WKQqw=="
}
}
Response
{
"cert_data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2030",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "SECOND CLASS HONOURS (upper division)",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"fail": null,
"results": {
"check_expired": true,
"check_hash": true,
"check_merkle_proof": true,
"check_merkle_root": true,
"check_pk_registered": true,
"check_revocation": true,
"check_sig": true,
"check_suspended": true
}
}
Fail Examples
Hash does not match
Request
{
"data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2030",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "FIRST CLASS HONOURS",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"hash": {
"hex": "c8892f37dfddb52e466074134acc2bd0e1d1deff1b0022d795d8f033112ef162",
"base64": "yIkvN9/dtS5GYHQTSswr0OHR3v8bACLXldjwMxEu8WI="
},
"merkle_proof": [
{
"right": {
"hex": "438ad89099b0a6af8cc5bd6c1bfa60893a29a88cfb7e300ce0af12fc8101f106",
"base64": "Q4rYkJmwpq+Mxb1sG/pgiTopqIz7fjAM4K8S/IEB8QY="
}
},
{
"right": {
"hex": "6342908ca505a1d0073e297c57bcb9280035a0878a9de1fccb6dc6d31ecec26a",
"base64": "Y0KQjKUFodAHPil8V7y5KAA1oIeKneH8y23G0x7Owmo="
}
}
],
"merkle_root": {
"hex": "53a4c3b02f2a4708d85bb4516323b2481543447f348e387bb4fd969bd170f205",
"base64": "U6TDsC8qRwjYW7RRYyOySBVDRH80jjh7tP2Wm9Fw8gU="
},
"key_type": "rsa",
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBCgKCAQEAwVWeU1wIF/WJUJFudx3iLXtaIbx3tCKwUz/hqy+4sEG/Ano+BbOJ\nmULM5eVsg0V2ce4YzsiZHrrRTELfYIWeRe7qukOo6/5FDQQyPX5JAMcQmsI9aYss\n5MScqhAeD3lCelVIrpn/D0mYd2W2CIBnmt07IlL25UGKmS+XFfXC5ngZ3Jbog46q\nS9gZFqAXfSLDhasL4CDU2MiU/lsAU2kLpr3yAVTySUtu5eyqAeSao/7njNHCkLeC\nQjez+DnEu6PJxe3b32XvppMWlPoNAFPmN7iAbG9IivlYNu7T6i9vrYuqsZVTomXe\n2amboP+wHaX2aWiI28zTD4K+YcVpDTyAXQIDAQAB\n-----END PUBLIC KEY-----\n",
"signature": {
"hex": "28fea1c603ff2f7887162c8166edc63f6a614afe07fdce43d9a5994030a32529db404a60cba642f33b3edcad9a0c8732c76e38fe1910cd487f14f58c7a6c1413d0129289f96e0f2522de2098885668fd588ddc4e3ccea7fcda2ef81b2b13f91eecea09774697e3e08bb3727700b83054ec5458db417d94fb5b5052e0a65be2518ede3b8244aea18953a8bf4ac4c8908f385d1dfd45161063acbb00ee864f6611ed42bf3bf3ede07e039837a5499456f5b404a58ab60816d5283deba2ab21af9f8fe2b5f8113ea38832be9363856c9b3fd0a52a85c19de87f3eb6c73fa093e88e78b573414c1eedc9a907669a7e22274d9cbdce1ad0fa94ea6a7ee2cbd96290ab",
"base64": "KP6hxgP/L3iHFiyBZu3GP2phSv4H/c5D2aWZQDCjJSnbQEpgy6ZC8zs+3K2aDIcyx244/hkQzUh/FPWMemwUE9ASkon5bg8lIt4gmIhWaP1YjdxOPM6n/Nou+BsrE/ke7OoJd0aX4+CLs3J3ALgwVOxUWNtBfZT7W1BS4KZb4lGO3juCRK6hiVOov0rEyJCPOF0d/UUWEGOsuwDuhk9mEe1Cvzvz7eB+A5g3pUmUVvW0BKWKtggW1Sg966KrIa+fj+K1+BE+o4gyvpNjhWybP9ClKoXBneh/PrbHP6CT6I54tXNBTB7tyakHZpp+IidNnL3OGtD6lOpqfuLL2WKQqw=="
}
}
Response
{
"cert_data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2030",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "FIRST CLASS HONOURS",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"fail": "Hash: does not match",
"results": {
"check_hash": false
}
}
Not present on blockchain
Request
{
"data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2032",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "SECOND CLASS HONOURS (upper division)",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"hash": {
"hex": "838566b9c316cb0499bd478bbf9a612571cb1a9d35ea2c95a303177d150b3de1",
"base64": "g4VmucMWywSZvUeLv5phJXHLGp016iyVowMXfRULPeE="
},
"merkle_proof": [
{
"right": {
"hex": "438ad89099b0a6af8cc5bd6c1bfa60893a29a88cfb7e300ce0af12fc8101f106",
"base64": "Q4rYkJmwpq+Mxb1sG/pgiTopqIz7fjAM4K8S/IEB8QY="
}
},
{
"right": {
"hex": "6342908ca505a1d0073e297c57bcb9280035a0878a9de1fccb6dc6d31ecec26a",
"base64": "Y0KQjKUFodAHPil8V7y5KAA1oIeKneH8y23G0x7Owmo="
}
}
],
"merkle_root": {
"hex": "bd3cecc02bdee82b51a21e36fee7b6d74e41c4cf70d1d332829240bb2e6dd41a",
"base64": "vTzswCve6CtRoh42/ue2105BxM9w0dMygpJAuy5t1Bo="
},
"key_type": "rsa",
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBCgKCAQEAwVWeU1wIF/WJUJFudx3iLXtaIbx3tCKwUz/hqy+4sEG/Ano+BbOJ\nmULM5eVsg0V2ce4YzsiZHrrRTELfYIWeRe7qukOo6/5FDQQyPX5JAMcQmsI9aYss\n5MScqhAeD3lCelVIrpn/D0mYd2W2CIBnmt07IlL25UGKmS+XFfXC5ngZ3Jbog46q\nS9gZFqAXfSLDhasL4CDU2MiU/lsAU2kLpr3yAVTySUtu5eyqAeSao/7njNHCkLeC\nQjez+DnEu6PJxe3b32XvppMWlPoNAFPmN7iAbG9IivlYNu7T6i9vrYuqsZVTomXe\n2amboP+wHaX2aWiI28zTD4K+YcVpDTyAXQIDAQAB\n-----END PUBLIC KEY-----\n",
"signature": {
"hex": "b4836f7163f5eb6de3118b530a33620e92898ac761c59b0f07c7bd64b531294fcf05d4831ea7c51be5773467f4fa753718f980b8d53c5294094102bf4bb32d3ad9d6dc387cb8d1b9e9d3c93673bc5413d16744d71572ad075cf50c2d28933717c13ac966870efc93ee5ba45f86c1f98f87c2fb6a60174fc85d659f3d16779917e295626ae76b4f36a2c2bd518304a0c596673762d7cb89349cc0211ae8d66dd2edad3aa75cd7195fbebf256be6e204841ba0509e00923ea23ecb894f07009fb8e9d8c7afc9281c90569db83d0a934358ce6e8be8d3c09a710912fc5cbebb25763f3ac1a21571aa4c79615c0f5326219a8c1b79815a64b36c3b8733967894294f",
"base64": "tINvcWP1623jEYtTCjNiDpKJisdhxZsPB8e9ZLUxKU/PBdSDHqfFG+V3NGf0+nU3GPmAuNU8UpQJQQK/S7MtOtnW3Dh8uNG56dPJNnO8VBPRZ0TXFXKtB1z1DC0okzcXwTrJZocO/JPuW6RfhsH5j4fC+2pgF0/IXWWfPRZ3mRfilWJq52tPNqLCvVGDBKDFlmc3YtfLiTScwCEa6NZt0u2tOqdc1xlfvr8la+biBIQboFCeAJI+oj7LiU8HAJ+46djHr8koHJBWnbg9CpNDWM5ui+jTwJpxCRL8XL67JXY/OsGiFXGqTHlhXA9TJiGajBt5gVpks2w7hzOWeJQpTw=="
}
}
Response
{
"cert_data": {
"cert_name": "Biomedical Technology",
"date": "20th July 2032",
"email": "samuel.hr@tiiqu.com",
"expires_on": "nil",
"level": "SECOND CLASS HONOURS (upper division)",
"recipient_name": "Samuel Hawksby-Robinson",
"type": "MASTER of ENGINEERING"
},
"fail": "Merkle proof: not on chain",
"results": {
"check_expired": true,
"check_hash": true,
"check_merkle_proof": true,
"check_merkle_root": false,
"check_pk_registered": true,
"check_sig": true
}
}
Check for Expiration Date and Mandatory Fields
v0.4.0 Added check for mandatory fields in certPacket Data
Checks For Public Key Registration and Cert Suspension
v0.3.0 Updated version number
Fix UI Bug
v0.2.2 Added minor UI tweak
Improved UI - Matching TiiQu Branding
Browser UI
Revocation Checks
Initial Release with CLI only UI
Details
Veriif is a verification application that will verify certificates issued by a CerTiiF compatible issuer. This version of Veriif will verify certificates issued by a version 0.3.0
or older of CerTiiF.
Getting started
Execute the application file you should then see a prompt like the following:
For testing purposes you can enter the file names of the two example files provided in the below binaries:
Succeeds -
example/cert_0.pdf
Fails -
example/cert_1.pdf