diff --git a/src/PrivacyIDEA.php b/src/PrivacyIDEA.php
index c0be33a4fbd6ad5f8c0d24cdbed43d4acabdfd96..a2c9ac6c02c81ce82e26a504123eee9797856578 100644
--- a/src/PrivacyIDEA.php
+++ b/src/PrivacyIDEA.php
@@ -42,6 +42,16 @@ class PrivacyIDEA
      */
     public $sslVerifyPeer = true;
 
+    /**
+     * @var int cURL connect timeout in seconds
+     */
+    public $connectTimeout = 0;
+
+    /**
+     * @var int cURL timeout in seconds
+     */
+    public $timeout;
+
     /**
      * @var string Account name for a service account to the privacyIDEA server. This is required to use the /validate/triggerchallenge endpoint.
      */
@@ -391,6 +401,10 @@ class PrivacyIDEA
         $completeUrl = $this->serverURL . $endpoint;
 
         $curlInstance = curl_init();
+        curl_setopt($curlInstance, CURLOPT_CONNECTTIMEOUT, $this->connectTimeout);
+        if (null !== $this->timeout) {
+            curl_setopt($curlInstance, CURLOPT_TIMEOUT, $this->timeout);
+        }
         curl_setopt($curlInstance, CURLOPT_URL, $completeUrl);
         curl_setopt($curlInstance, CURLOPT_HEADER, true);
         if ($headers) {