![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.ca/public_html/scripts/ |
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
console.log('Generating SSL certificates for localhost...');
const certsDir = path.join(__dirname, '..', 'certificates');
// Create certificates directory if it doesn't exist
if (!fs.existsSync(certsDir)) {
fs.mkdirSync(certsDir, { recursive: true });
}
// Generate private key
console.log('Generating private key...');
const keyPath = path.join(certsDir, 'localhost-key.pem');
const certPath = path.join(certsDir, 'localhost.pem');
// Create a simple self-signed certificate using Node.js crypto
const crypto = require('crypto');
const { Certificate } = require('crypto');
// Generate key pair
const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem'
}
});
// Create certificate
const cert = crypto.createCertificate();
cert.setPublicKey(publicKey);
cert.sign(privateKey, 'sha256');
// Write files
fs.writeFileSync(keyPath, privateKey);
fs.writeFileSync(certPath, cert.export({ type: 'pem' }));
console.log('SSL certificates generated successfully!');
console.log(`Private key: ${keyPath}`);
console.log(`Certificate: ${certPath}`);
console.log('\nYou can now access https://localhost:443');
console.log('Note: You may need to accept the self-signed certificate in your browser.');