diff --git a/CHANGES b/CHANGES
index 521480d90..cb3349415 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,11 @@
 
                                   Changelog
 
+Dan F (9 March 2007)
+- Updated the test harness to add a new "crypto" feature check and updated the
+  appropriate test case to use it.  For now, this is treated the same as the
+  "SSL" feature because curl doesn't list it separately.
+
 Daniel (9 March 2007)
 - Robert Iakobashvili fixed CURLOPT_INTERFACE for IPv6.
 
diff --git a/tests/FILEFORMAT b/tests/FILEFORMAT
index 398915a70..29900e8df 100644
--- a/tests/FILEFORMAT
+++ b/tests/FILEFORMAT
@@ -135,6 +135,7 @@ A list of features that MUST be present in the client/library for this test to
 be able to run (if these features are not present, the test will be
 SKIPPED). Features testable here are:
 
+crypto
 getrlimit
 GnuTLS
 idn
diff --git a/tests/data/test153 b/tests/data/test153
index aef165ef3..38dc1d28d 100644
--- a/tests/data/test153
+++ b/tests/data/test153
@@ -54,6 +54,9 @@ This IS the second real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with Digest authorization with stale=true
  </name>
diff --git a/tests/data/test154 b/tests/data/test154
index 5a79be380..cae98ed61 100644
--- a/tests/data/test154
+++ b/tests/data/test154
@@ -53,6 +53,9 @@ This IS the real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP PUT with --anyauth authorization (picking Digest)
  </name>
diff --git a/tests/data/test167 b/tests/data/test167
index 1667f3f8e..a83dc61bd 100644
--- a/tests/data/test167
+++ b/tests/data/test167
@@ -32,6 +32,9 @@ Nice auth sir!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with proxy-requiring-Basic to site-requiring-Digest
  </name>
diff --git a/tests/data/test168 b/tests/data/test168
index d867099ae..b1fc97967 100644
--- a/tests/data/test168
+++ b/tests/data/test168
@@ -46,6 +46,9 @@ Nice auth sir!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with proxy-requiring-Digest to site-requiring-Digest
  </name>
diff --git a/tests/data/test175 b/tests/data/test175
index c793a2e1b..e25b5b901 100644
--- a/tests/data/test175
+++ b/tests/data/test175
@@ -41,6 +41,9 @@ content for you
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST --digest to server not requiring any auth at all
  </name>
diff --git a/tests/data/test177 b/tests/data/test177
index 79a4e51d5..2e4871207 100644
--- a/tests/data/test177
+++ b/tests/data/test177
@@ -16,6 +16,9 @@ Content-Type: text/html; charset=iso-8859-1
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST --digest to server doing a 302-location response
  </name>
diff --git a/tests/data/test206 b/tests/data/test206
index a2b7034b7..21f723775 100644
--- a/tests/data/test206
+++ b/tests/data/test206
@@ -53,6 +53,9 @@ daniel
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP proxy CONNECT auth Digest
  </name>
diff --git a/tests/data/test245 b/tests/data/test245
index ffefb219b..7ee0e7c44 100644
--- a/tests/data/test245
+++ b/tests/data/test245
@@ -41,6 +41,9 @@ ok
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST --digest
  </name>
diff --git a/tests/data/test246 b/tests/data/test246
index 72e27b998..b0b4e55e7 100644
--- a/tests/data/test246
+++ b/tests/data/test246
@@ -51,6 +51,9 @@ ok
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST --digest with server doing a 100 before 401 response
  </name>
diff --git a/tests/data/test258 b/tests/data/test258
index 1a839d8a2..f45572b90 100644
--- a/tests/data/test258
+++ b/tests/data/test258
@@ -53,6 +53,9 @@ ok
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST multipart without Expect: header using proxy anyauth (Digest)
  </name>
diff --git a/tests/data/test259 b/tests/data/test259
index 9d8627245..ab369ff83 100644
--- a/tests/data/test259
+++ b/tests/data/test259
@@ -50,6 +50,9 @@ ok
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP POST multipart with Expect: header using proxy anyauth (Digest)
  </name>
diff --git a/tests/data/test273 b/tests/data/test273
index 626107951..8f0dca83b 100644
--- a/tests/data/test273
+++ b/tests/data/test273
@@ -51,6 +51,9 @@ This IS the real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with two Digest authorization headers
  </name>
diff --git a/tests/data/test64 b/tests/data/test64
index 4add34789..c7896829d 100644
--- a/tests/data/test64
+++ b/tests/data/test64
@@ -51,6 +51,9 @@ This IS the real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with Digest authorization
  </name>
diff --git a/tests/data/test65 b/tests/data/test65
index 097c58afd..8cc2d1e39 100644
--- a/tests/data/test65
+++ b/tests/data/test65
@@ -51,6 +51,9 @@ This is not the real page either
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with Digest authorization with bad password
  </name>
diff --git a/tests/data/test72 b/tests/data/test72
index 77f2b2285..b3096d54c 100644
--- a/tests/data/test72
+++ b/tests/data/test72
@@ -53,6 +53,9 @@ This IS the real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP with Digest *OR* Basic authorization
  </name>
diff --git a/tests/data/test88 b/tests/data/test88
index fd7bc94ca..c3ab6695a 100644
--- a/tests/data/test88
+++ b/tests/data/test88
@@ -55,6 +55,9 @@ This IS the real page!
 <server>
 http
 </server>
+<features>
+crypto
+</features>
  <name>
 HTTP PUT with Digest authorization
  </name>
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 5fb45b171..53e4cd4e5 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -144,6 +144,7 @@ my $has_ntlm;    # set if libcurl is built with NTLM support
 my $has_openssl; # set if libcurl is built with OpenSSL
 my $has_gnutls;  # set if libcurl is built with GnuTLS
 my $has_nss;     # set if libcurl is built with NSS
+my $has_crypto;  # set if libcurl is built with cryptographic support
 my $has_textaware; # set if running on a system that has a text mode concept
   # on files. Windows for example
 my @protocols;   # array of supported protocols
@@ -1044,6 +1045,9 @@ sub checksystem {
             if($feat =~ /SSL/i) {
                 # ssl enabled
                 $ssl_version=1;
+                # curl doesn't list cryptographic support separately, so treat
+                # it the same as SSL for the time being
+                $has_crypto=1;
             }
             if($feat =~ /Largefile/i) {
                 # large file support
@@ -1292,6 +1296,11 @@ sub singletest {
                 next;
             }
         }
+        elsif($f eq "crypto") {
+            if($has_crypto) {
+                next;
+            }
+        }
         # See if this "feature" is in the list of supported protocols
         elsif (grep /^$f$/, @protocols) {
             next;