Skip to content

Releases: TiiQu-Credentialing/Veriif

QR Code Power!

16 Mar 14:01
72c75b8
Compare
Choose a tag to compare

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:

Also see this example PDF cert with a QR code

Reformat of Errors and Fixed Error display bug

14 May 16:45
49652d1
Compare
Choose a tag to compare
v0.5.1

Updated version number

API Mode

14 May 11:50
195ac9b
Compare
Choose a tag to compare

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

04 Mar 17:55
4a0ca84
Compare
Choose a tag to compare
v0.4.0

Added check for mandatory fields in certPacket Data

Checks For Public Key Registration and Cert Suspension

28 Feb 17:11
9384a75
Compare
Choose a tag to compare

Fix UI Bug

29 Jan 23:11
a2400ed
Compare
Choose a tag to compare
v0.2.2

Added minor UI tweak

Improved UI - Matching TiiQu Branding

28 Jan 22:53
275d94a
Compare
Choose a tag to compare

Browser UI

26 Jan 00:25
d65d4f7
Compare
Choose a tag to compare

Revocation Checks

24 Jan 18:33
93810e8
Compare
Choose a tag to compare

Initial Release with CLI only UI

23 Jan 17:01
0194132
Compare
Choose a tag to compare

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:

Samuel Hawksby-Robinson - Veriif screenshot

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

screenshot 2019-01-23 16 57 01

Downloads

windows-64bit-veriif.zip