]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17419 misconfigured openssl extension blocks installation - openssl.cnf missing??
authorskodak <skodak>
Fri, 28 Nov 2008 12:54:15 +0000 (12:54 +0000)
committerskodak <skodak>
Fri, 28 Nov 2008 12:54:15 +0000 (12:54 +0000)
mnet/environment.php
mnet/lib.php

index 88d2bc2bdc943691d9f5b08cad68bd04b16bd383..8fc7ad47c68b1535055e4855312f2ba154f42905 100644 (file)
@@ -152,8 +152,14 @@ class mnet_environment {
     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'];
index f6cc6ce5cd4bcf7c77a73059f10f849f8d04ba02..39be23ed743afe524a3ba489f1e1051d1ebfcec1 100644 (file)
@@ -391,6 +391,10 @@ function mnet_generate_keypair($dn = null, $days=28) {
     $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