HEX
Server: LiteSpeed
System: Linux sarajevo.maychu.cloud 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64
User: inqua407 (1189)
PHP: 8.3.17
Disabled: exec,execl,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,ini_alter,proc_open,dl,popen,show_source,posix_getpwuid,getpwuid,posix_geteuid,posix_getegid,posix_getgrgid,open_basedir,safe_mode_include_dir,pcntl_exec,pcntl_fork,proc_get_status,proc_nice,proc_terminate,pclose,virtual,openlog,popen,pclose,virtual,openlog,escapeshellcmd,escapeshellarg,dl,show_source,symlink,mail
Upload Files
File: //var/softaculous/moodle29/privatekey.php
<?php

// We do not need this file any more
@unlink('privatekey.php');

$ltikey = __mod_lti_verify_private_key();

echo '<kid>'.$ltikey['kid'].'</kid>';
echo '<privatekey>'.$ltikey['privatekey'].'</privatekey>';

function __mod_lti_verify_private_key() {
	global $error;
	
	if (!function_exists('openssl_random_pseudo_bytes')) {
		$error[] = "openssl must be loaded for openssl_random_pseudo_bytes to function";
		return null;
	}
	
	// Create the private key.
	$kid = bin2hex(openssl_random_pseudo_bytes(10));
	
	$config = array(
		"digest_alg" => "sha256",
		"private_key_bits" => 2048,
		"private_key_type" => OPENSSL_KEYTYPE_RSA,
	);
	$res = openssl_pkey_new($config);
	openssl_pkey_export($res, $privatekey);

	return array(
		'kid' => $kid,
		'privatekey' => $privatekey,
	);
}

?>