Path : /home/vishqocm/pcib.in/
File Upload :
Current File : /home/vishqocm//pcib.in/test_certificate.php

<?php
// Enable error reporting for debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Include the certificate library
require_once 'includes/certificate_lib.php';

// Create a certificate generator
$generator = new CertificateGenerator();

// Test certificate generation
echo "Testing certificate generation...\n";
echo "=============================\n\n";

// Generate verification code
$verificationCode = $generator->generateVerificationCode();
echo "Verification code: " . $verificationCode . "\n\n";

// Sample certificate data
$certificateData = [
    'student_name' => 'Test Student',
    'student_email' => '[email protected]',
    'course_title' => 'Test Course',
    'certificate_number' => 'CERT-' . date('Ymd') . '-0001',
    'verification_code' => $verificationCode,
    'issue_date' => date('Y-m-d H:i:s'),
    'institute_name' => 'Popular Computer Institute',
    'director_name' => 'Institute Director'
];

// Generate secure certificate
$signedData = $generator->generateSecureCertificate($certificateData);
echo "Certificate generated successfully:\n";
echo "- Certificate Number: " . $signedData['data']['certificate_number'] . "\n";
echo "- Verification Code: " . $signedData['data']['verification_code'] . "\n";
echo "- Issued At: " . $signedData['issued_at'] . "\n";
echo "- Hash: " . $signedData['hash'] . "\n\n";

// Test verification
echo "Testing certificate verification...\n";
echo "==============================\n\n";

// Create a verifier
$verifier = new CertificateVerifier();

// Verify by verification code
$isValidByCode = $verifier->verifyByCode($verificationCode, $signedData);
echo "Verification by code: " . ($isValidByCode ? "VALID" : "INVALID") . "\n";

// Verify by certificate number
$isValidByNumber = $verifier->verifyByCertificateNumber($certificateData['certificate_number'], $signedData);
echo "Verification by certificate number: " . ($isValidByNumber ? "VALID" : "INVALID") . "\n";

// Test invalid verification
echo "\nTesting invalid verification...\n";

// Tamper with the verification code
$tamperedData = $signedData;
$tamperedData['data']['verification_code'] = 'TAMPERED';
$isValidTampered = $verifier->verifyByCode($verificationCode, $tamperedData);
echo "Verification of tampered data: " . ($isValidTampered ? "VALID (BAD!)" : "INVALID (GOOD!)") . "\n";

echo "\nTest completed!\n";
?>