function replace_keys() {
global $DB, $CFG;
+ $keypair = mnet_generate_keypair();
+ if (empty($keypair)) {
+ error_log('Can not generate keypair, sorry');
+ return;
+ }
+
$this->keypair = array();
- $this->keypair = mnet_generate_keypair();
+ $this->keypair = $keypair;
$this->public_key = $this->keypair['certificate'];
$details = openssl_x509_parse($this->public_key);
$this->public_key_expires = $details['validTo_time_t'];
$dn["commonName"] = preg_replace(':/$:', '', $dn["commonName"]);
$new_key = openssl_pkey_new();
+ if ($new_key === false) {
+ // can not generate keys - missing openssl.cnf??
+ return null;
+ }
$csr_rsc = openssl_csr_new($dn, $new_key, array('private_key_bits',2048));
$selfSignedCert = openssl_csr_sign($csr_rsc, null, $new_key, $days);
unset($csr_rsc); // Free up the resource