Browse Source

Moving download and verify to the lib

pull/1/head
Vitor Pamplona 5 years ago
parent
commit
3a3a39f489
5 changed files with 19 additions and 103 deletions
  1. +1
    -23
      index.v5.html
  2. +16
    -12
      js/pcf.js
  3. +1
    -23
      opencerta.html
  4. +1
    -24
      us.ma.id.html
  5. +0
    -21
      verify.html

+ 1
- 23
index.v5.html View File

@ -163,17 +163,6 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
return fields;
}
function verifySignature(pubkey, payload, signatureBase32NoPad, feedback_elem_id) {
try {
const verified = PCF.verify(pubkey, payload, signatureBase32NoPad, feedback_elem_id);
e(feedback_elem_id).innerHTML = "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
e(feedback_elem_id).innerHTML += "Signature Verification Failed: " + err;
console.error(err);
}
}
function clearQR(elemPrefix) {
e(elemPrefix+'-code').getContext('2d').clearRect(0, 0, e(elemPrefix+'-code').width, e(elemPrefix+'-code').height);
e(elemPrefix+'-result').innerHTML = "";
@ -188,16 +177,6 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
clearQR('qr-coupon');
}
function downloadAndVerify(pubkeyURL, payload, signatureBase32NoPad, feedback_elem_id) {
let publicKeyPEM = PCF.getKeyId(pubkeyURL);
if (publicKeyPEM !== null) {
verifySignature(publicKeyPEM, payload, signatureBase32NoPad, feedback_elem_id);
} else {
e(feedback_elem_id).innerHTML += "Verification Failed: Public Key not found.";
}
}
function signAndDisplayQR(elemPref, _type, _version, priKeyPEM, pubKeyId, payloadValueArray) {
const uri = PCF.sign(_type, _version, priKeyPEM, pubKeyId, payloadValueArray);
const [schema, type, version, signature, pubKeyLink, payload] = PCF.parseURI(uri);
@ -265,8 +244,7 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
e(elemPref+"-bytes").innerHTML += "<br>- " + i + ": " + qr.segments[i].mode.id + " " + qr.segments[i].data;
}
// Verifies URI is valid
downloadAndVerify(pubKeyLink, payload, signature, elemPref + "-verified");
e(elemPref + "-verified").innerHTML = PCF.debugDownloadVerify(pubKeyLink, payload, signature);
}
function describe(qr) {


+ 16
- 12
js/pcf.js View File

@ -284,6 +284,21 @@ var PCF = {
}
},
debugDownloadVerify: function(pubkeyURL, payload, signatureBase32NoPad) {
let publicKeyPEM = this.getKeyId(pubKeyLink);
if (publicKeyPEM !== null) {
try{
let verified = this.verify(publicKeyPEM, payload, signatureBase32NoPad);
return "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
return "Signature Verification Failed: " + err;
console.error(err);
}
} else {
return "Verification Failed: Public Key not found.";
}
},
debugVerify: function(uri) {
let formattedMessages = "";
@ -312,18 +327,7 @@ var PCF = {
}
if (formattedMessages.includes("QR was parsed sucessfully!")) {
let publicKeyPEM = this.getKeyId(pubKeyLink);
if (publicKeyPEM !== null) {
try{
let verified = this.verify(publicKeyPEM, payload, signatureBase32NoPad);
formattedMessages += "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
formattedMessages += "Signature Verification Failed: " + err;
console.error(err);
}
} else {
formattedMessages += "<br>Verification Failed: Public Key not found.";
}
formattedMessages += this.debugDownloadVerify(pubKeyLink, payload, signatureBase32NoPad);
} else {
formattedMessages += "<br>Signature: not verified";
}


+ 1
- 23
opencerta.html View File

@ -229,28 +229,6 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
return fields;
}
function verifySignature(pubkey, payload, signatureBase32NoPad, feedback_elem_id) {
try {
const verified = PCF.verify(pubkey, payload, signatureBase32NoPad, feedback_elem_id)
// Updates screen.
e(feedback_elem_id).innerHTML = "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
e(feedback_elem_id).innerHTML += "Signature Verification Failed: " + err;
console.error(err);
}
}
function downloadAndVerify(pubkeyURL, payload, signatureBase32NoPad, feedback_elem_id) {
let publicKeyPEM = PCF.getKeyId(pubkeyURL);
if (publicKeyPEM !== null) {
verifySignature(publicKeyPEM, payload, signatureBase32NoPad, feedback_elem_id);
} else {
e(feedback_elem_id).innerHTML += "Verification Failed: Public Key not found.";
}
}
function signAndDisplayQR(elemPref, _type, _version, priKeyPEM, pubKeyId, payloadValueArray) {
const uri = PCF.sign(_type, _version, priKeyPEM, pubKeyId, payloadValueArray);
const [schema, type, version, signature, pubKeyLink, payload] = PCF.parseURI(uri);
@ -293,7 +271,7 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
}
// Verifies URI is valid
downloadAndVerify(pubKeyLink, payload, signature, elemPref + "-verified");
e(elemPref + "-verified").innerHTML = PCF.debugDownloadVerify(pubKeyLink, payload, signature);
}
function describe(qr) {


+ 1
- 24
us.ma.id.html View File

@ -182,18 +182,6 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
return fields;
}
function verifySignature(pubkey, payload, signatureBase32NoPad, feedback_elem_id) {
try {
const verified = PCF.verify(pubkey, payload, signatureBase32NoPad, feedback_elem_id)
// Updates screen.
e(feedback_elem_id).innerHTML = "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
e(feedback_elem_id).innerHTML += "Signature Verification Failed: " + err;
console.error(err);
}
}
function clearQR(elemPrefix) {
e(elemPrefix+'-code').getContext('2d').clearRect(0, 0, e(elemPrefix+'-code').width, e(elemPrefix+'-code').height);
e(elemPrefix+'-result').innerHTML = "";
@ -205,16 +193,6 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
clearQR('qr-massid');
}
function downloadAndVerify(pubkeyURL, payload, signatureBase32NoPad, feedback_elem_id) {
let publicKeyPEM = PCF.getKeyId(pubkeyURL);
if (publicKeyPEM !== null) {
verifySignature(publicKeyPEM, payload, signatureBase32NoPad, feedback_elem_id);
} else {
e(feedback_elem_id).innerHTML += "Verification Failed: Public Key not found.";
}
}
function signAndDisplayQR(elemPref, _type, _version, priKeyPEM, pubKeyId, payloadValueArray) {
const uri = PCF.sign(_type, _version, priKeyPEM, pubKeyId, payloadValueArray);
const [schema, type, version, signature, pubKeyLink, payload] = PCF.parseURI(uri);
@ -275,8 +253,7 @@ DcJqR5clbAYlO9lHmvb4lsPLZHjugQ==
e(elemPref+"-bytes").innerHTML += "<br>- " + i + ": " + qr.segments[i].mode.id + " " + qr.segments[i].data;
}
// Verifies URI is valid
downloadAndVerify(pubKeyLink, payload, signature, elemPref + "-verified");
e(elemPref + "-verified").innerHTML = PCF.debugDownloadVerify(pubKeyLink, payload, signature);
}
function describe(qr) {


+ 0
- 21
verify.html View File

@ -33,27 +33,6 @@
<script>
function e(elem) { return document.getElementById(elem); }
function verifySignature(pubkey, payload, signatureBase32NoPad, feedback_elem_id) {
try {
const verified = PCF.verify(pubkey, payload, signatureBase32NoPad, feedback_elem_id)
e(feedback_elem_id).innerHTML = "Signature: " + (verified ? "Independently Verified" : "Not Valid");
} catch(err) {
e(feedback_elem_id).innerHTML += "Signature Verification Failed: " + err;
console.error(err);
}
}
function downloadAndVerify(pubkeyURL, payload, signatureBase32NoPad, feedback_elem_id) {
let publicKeyPEM = PCF.getKeyId(pubkeyURL);
if (publicKeyPEM !== null) {
verifySignature(publicKeyPEM, payload, signatureBase32NoPad, feedback_elem_id);
} else {
e(feedback_elem_id).innerHTML += "Verification Failed: Public Key not found.";
}
}
function verifyQRCode() {
e("qr-verify-result").innerHTML = PCF.debugParseURI(e("qr-verify").value);
e('qr-verify-verified').innerHTML = PCF.debugVerify(e("qr-verify").value);


Loading…
Cancel
Save