Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-2071

Add QR-code and perma-URL to PDF certificats to check for validity

    XMLWordPrintable

    Details

      Description

      PDF certificates generated as prove of passing a test or course can not be validated by other users, e.g. employees. It is very easy to fake generate or manipulate a fake PDF certificate.

      The goal of this issue is to add a Link and a QR code to the PDF certificate to permanently reproduce the certificate by calling the URL. If the reproduced PDF is the same as the one presented to someone, the certificate can be easily validated.

      Todo:

      • Add the certificate datastructure to contain a random access token for each certificate
      • Create a mapper to display the PDF certificate for a given mapper
      • Add code to the certificate creation process to add the URL to the certificate
      • In case of phantomJS generation process, add code to generate a QR Code out of the URL. When working with PDF forms, only the URL is supported

      Manual:
      The following needs to be added to the manual:
      1) new variable for PDF and PhantomJS worker

      # URL which reproduces the certificate. Can be opened without authentication by external users to check the certificate
      certificateVerificationUrl
      

      2) HTML code to add the QR code when using the phantomJS worker

      <!-- the following code generates the QR-code that reproduces the certificate -->
      <div class="o_qrcode">$certificateVerificationUrl</div>	
      

      A more full example could look like this:

      </style>
      .verify {
      	position: absolute;
      	bottom: 23mm;
      	left: 20mm;
      	width: 150mm;
      	font-size: 80%;
      	text-align: left;
      	font-style: italic;
      	padding-left: 30mm;
      }
      .o_qrcode {
      	position: absolute;
      	bottom: 0;
      	left: 0;
      	width: 25mm;
      	height: 25mm;
      }
      .o_qrcode img,
      .o_qrcode canvas { 
      	width: 100%;
      	height: 100%;
      }
      </style>
      <div class="verify">
      	Scannen Sie diesen QR Code um das Zertifikat auf Authentizität zu überprüfen.
      	<div class="o_qrcode">$certificateVerificationUrl</div>	
      </div>
      

      Example templates:
      See attachments. Please add them to the manual as well


      Contact wording

      Überprüfbarkeit Validität des Kurszertifikates mittels eingebetteter URL / QR-Code
      Die folgenden Arbeiten werden vorgenommen:
      • Erweiterung Datenbank, um einen eindeutigen und zufälligen Zugangscode pro Zertifikat abzuspeichern
      • Programmierung Mapper, um ein Zertifikat anzuzeigen welches über den Zugangscode aufgerufen wurde
      • Einbinden der Mapper URL inklusive Zugangscode als Variable in den Zertifikatserstellungsprozess
      • Erzeugen eines QR-Codes mit der Mapper URL inklusive Zugangscode und Einbinden in Zertifikatserstellungsprozess (nur bei
      Verwendung der Variante mit phantomJS, bei der Variante mit PDF-Formularen wird der QR-Code nicht unterstützt)

        Attachments

          Activity

            People

            Assignee:
            gnaegi Florian Gnägi
            Reporter:
            gnaegi Florian Gnägi
            Tester:
            Dirk Furrer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 days
                2d
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 3 hours, 30 minutes Time Not Required
                1d 3h 30m