private function _setCRL(SSLCRL &$crl, $insertMode = FALSE)
 {
     $method = "PUT";
     $url = E3_PROV_URL_TRUSTSTORE . "/crls/" . rawurlencode($crl->getId());
     if ($insertMode) {
         $method = "POST";
         $url = E3_PROV_URL_TRUSTSTORE . "/crls";
     }
     /**
      * Send the XML payload the the Provisioning Backend
      */
     LoggerInterface::log(($insertMode ? "Creating" : "Updating") . " CRL: {$crl->toXML()}\nEndpoint: ({$method}) {$url}", LoggerInterface::INFO);
     $reply = $this->restClient->makeCall($url, $method, $crl->toXML());
     $xml = simplexml_load_string($reply->getPayload());
     if ($reply->getHTTPCode() === "200") {
         if ($insertMode) {
             if ($crl->getId() == NULL) {
                 $crl->setId((string) $xml->id);
             }
         }
         return $crl;
     } else {
         throw new Exception(!empty($xml->error) ? $xml->error->errorText : UNDEFINED_ERROR_TEXT);
     }
 }