diff --git a/test/parallel/test-http2-binding.js b/test/parallel/test-http2-binding.js
index c26549d36159..50f1b5674f4f 100644
--- a/test/parallel/test-http2-binding.js
+++ b/test/parallel/test-http2-binding.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-require('../common');
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
assert.doesNotThrow(() => process.binding('http2'));
diff --git a/test/parallel/test-http2-client-data-end.js b/test/parallel/test-http2-client-data-end.js
index 3bd72f138ba6..8c50389f3b85 100644
--- a/test/parallel/test-http2-client-data-end.js
+++ b/test/parallel/test-http2-client-data-end.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-client-destroy-before-connect.js b/test/parallel/test-http2-client-destroy-before-connect.js
index 1f6b087dd220..3c99b8d66150 100644
--- a/test/parallel/test-http2-client-destroy-before-connect.js
+++ b/test/parallel/test-http2-client-destroy-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-destroy-before-request.js b/test/parallel/test-http2-client-destroy-before-request.js
index 71519d5903b5..b8510f6a445e 100644
--- a/test/parallel/test-http2-client-destroy-before-request.js
+++ b/test/parallel/test-http2-client-destroy-before-request.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-destroy.js b/test/parallel/test-http2-client-destroy.js
index 56cfec5d65a2..f10956603135 100644
--- a/test/parallel/test-http2-client-destroy.js
+++ b/test/parallel/test-http2-client-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-priority-before-connect.js b/test/parallel/test-http2-client-priority-before-connect.js
index 68933b2d83bb..7fd81c8b9332 100644
--- a/test/parallel/test-http2-client-priority-before-connect.js
+++ b/test/parallel/test-http2-client-priority-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-rststream-before-connect.js b/test/parallel/test-http2-client-rststream-before-connect.js
index 33b6cb354fe2..1a4aa938da6a 100644
--- a/test/parallel/test-http2-client-rststream-before-connect.js
+++ b/test/parallel/test-http2-client-rststream-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-set-priority.js b/test/parallel/test-http2-client-set-priority.js
index 314a88a63c2d..08c799a6e1ff 100644
--- a/test/parallel/test-http2-client-set-priority.js
+++ b/test/parallel/test-http2-client-set-priority.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-client-settings-before-connect.js b/test/parallel/test-http2-client-settings-before-connect.js
index f320aa97dba1..2ebb0654a313 100644
--- a/test/parallel/test-http2-client-settings-before-connect.js
+++ b/test/parallel/test-http2-client-settings-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-client-shutdown-before-connect.js b/test/parallel/test-http2-client-shutdown-before-connect.js
index eabfc6261c0c..316a41d0f79d 100644
--- a/test/parallel/test-http2-client-shutdown-before-connect.js
+++ b/test/parallel/test-http2-client-shutdown-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-client-socket-destroy.js b/test/parallel/test-http2-client-socket-destroy.js
index fe2d92753172..9d2fdd3b4486 100644
--- a/test/parallel/test-http2-client-socket-destroy.js
+++ b/test/parallel/test-http2-client-socket-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const body =
'
this is some data';
diff --git a/test/parallel/test-http2-client-stream-destroy-before-connect.js b/test/parallel/test-http2-client-stream-destroy-before-connect.js
index d8a9db4d371a..d68e6b33ec48 100644
--- a/test/parallel/test-http2-client-stream-destroy-before-connect.js
+++ b/test/parallel/test-http2-client-stream-destroy-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const NGHTTP2_INTERNAL_ERROR = h2.constants.NGHTTP2_INTERNAL_ERROR;
diff --git a/test/parallel/test-http2-client-unescaped-path.js b/test/parallel/test-http2-client-unescaped-path.js
index 95b5c04b0fed..645fb3316388 100755
--- a/test/parallel/test-http2-client-unescaped-path.js
+++ b/test/parallel/test-http2-client-unescaped-path.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-client-upload.js b/test/parallel/test-http2-client-upload.js
index f65ae09c3a20..cee86e3fc653 100755
--- a/test/parallel/test-http2-client-upload.js
+++ b/test/parallel/test-http2-client-upload.js
@@ -4,6 +4,8 @@
// Verifies that uploading data from a client works
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const fs = require('fs');
diff --git a/test/parallel/test-http2-client-write-before-connect.js b/test/parallel/test-http2-client-write-before-connect.js
index f58fc5c43f69..ed46840266a5 100644
--- a/test/parallel/test-http2-client-write-before-connect.js
+++ b/test/parallel/test-http2-client-write-before-connect.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverrequest-headers.js b/test/parallel/test-http2-compat-serverrequest-headers.js
index 32af86314b16..d5a663910587 100644
--- a/test/parallel/test-http2-compat-serverrequest-headers.js
+++ b/test/parallel/test-http2-compat-serverrequest-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverrequest.js b/test/parallel/test-http2-compat-serverrequest.js
index d54f554848ce..6c2448f4a514 100644
--- a/test/parallel/test-http2-compat-serverrequest.js
+++ b/test/parallel/test-http2-compat-serverrequest.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const net = require('net');
diff --git a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
index 9679215abb07..8c5ff3127432 100644
--- a/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
+++ b/test/parallel/test-http2-compat-serverresponse-createpushresponse.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-end.js b/test/parallel/test-http2-compat-serverresponse-end.js
index 6b4b375764ec..5fb93e93dd5f 100644
--- a/test/parallel/test-http2-compat-serverresponse-end.js
+++ b/test/parallel/test-http2-compat-serverresponse-end.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-const { mustCall, mustNotCall } = require('../common');
+const { mustCall, mustNotCall, hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { strictEqual } = require('assert');
const {
createServer,
diff --git a/test/parallel/test-http2-compat-serverresponse-finished.js b/test/parallel/test-http2-compat-serverresponse-finished.js
index e5739e5ac3e2..c80bdc33f861 100644
--- a/test/parallel/test-http2-compat-serverresponse-finished.js
+++ b/test/parallel/test-http2-compat-serverresponse-finished.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-flushheaders.js b/test/parallel/test-http2-compat-serverresponse-flushheaders.js
index 5f101228b466..671b0c7b94e6 100644
--- a/test/parallel/test-http2-compat-serverresponse-flushheaders.js
+++ b/test/parallel/test-http2-compat-serverresponse-flushheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-headers.js b/test/parallel/test-http2-compat-serverresponse-headers.js
index de80469265fe..7a9b7d664057 100644
--- a/test/parallel/test-http2-compat-serverresponse-headers.js
+++ b/test/parallel/test-http2-compat-serverresponse-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statuscode.js b/test/parallel/test-http2-compat-serverresponse-statuscode.js
index 201a63c379bc..ace05ddefe73 100644
--- a/test/parallel/test-http2-compat-serverresponse-statuscode.js
+++ b/test/parallel/test-http2-compat-serverresponse-statuscode.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js b/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
index 50d2970d9ea9..782c239f0fc4 100644
--- a/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
+++ b/test/parallel/test-http2-compat-serverresponse-statusmessage-property.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-statusmessage.js b/test/parallel/test-http2-compat-serverresponse-statusmessage.js
index c9c5b5a0138e..0c74a2c8f2e8 100644
--- a/test/parallel/test-http2-compat-serverresponse-statusmessage.js
+++ b/test/parallel/test-http2-compat-serverresponse-statusmessage.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-trailers.js b/test/parallel/test-http2-compat-serverresponse-trailers.js
index d1ab4f9946c0..17c2d7344251 100644
--- a/test/parallel/test-http2-compat-serverresponse-trailers.js
+++ b/test/parallel/test-http2-compat-serverresponse-trailers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-write-no-cb.js b/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
index e6164ae9319d..bc864af46df4 100644
--- a/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
+++ b/test/parallel/test-http2-compat-serverresponse-write-no-cb.js
@@ -1,7 +1,12 @@
// Flags: --expose-http2
'use strict';
-const { mustCall, mustNotCall, expectsError } = require('../common');
+const { mustCall,
+ mustNotCall,
+ expectsError,
+ hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { throws } = require('assert');
const { createServer, connect } = require('http2');
diff --git a/test/parallel/test-http2-compat-serverresponse-writehead.js b/test/parallel/test-http2-compat-serverresponse-writehead.js
index 9d7969652ec2..04d749908352 100644
--- a/test/parallel/test-http2-compat-serverresponse-writehead.js
+++ b/test/parallel/test-http2-compat-serverresponse-writehead.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-connect-method.js b/test/parallel/test-http2-connect-method.js
index 05ff96a3cd13..4cd8daf484e5 100644
--- a/test/parallel/test-http2-connect-method.js
+++ b/test/parallel/test-http2-connect-method.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const net = require('net');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-connect.js b/test/parallel/test-http2-connect.js
index 305ea034c902..087f942932c5 100644
--- a/test/parallel/test-http2-connect.js
+++ b/test/parallel/test-http2-connect.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-const { mustCall } = require('../common');
+const { mustCall, hasCrypto, skip } = require('../common');
+if (!hasCrypto)
+ skip('missing crypto');
const { doesNotThrow } = require('assert');
const { createServer, connect } = require('http2');
diff --git a/test/parallel/test-http2-cookies.js b/test/parallel/test-http2-cookies.js
index 297b3966df9f..6e2ae0bdfd66 100644
--- a/test/parallel/test-http2-cookies.js
+++ b/test/parallel/test-http2-cookies.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-create-client-connect.js b/test/parallel/test-http2-create-client-connect.js
index 376b0a208d59..2c40d7c65367 100644
--- a/test/parallel/test-http2-create-client-connect.js
+++ b/test/parallel/test-http2-create-client-connect.js
@@ -4,6 +4,8 @@
// Tests http2.connect()
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const fs = require('fs');
const h2 = require('http2');
const path = require('path');
diff --git a/test/parallel/test-http2-create-client-session.js b/test/parallel/test-http2-create-client-session.js
index c1c6ce1bfea6..22ab368f7bc5 100644
--- a/test/parallel/test-http2-create-client-session.js
+++ b/test/parallel/test-http2-create-client-session.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-date-header.js b/test/parallel/test-http2-date-header.js
index d9a73b2ef61d..d7afeb5e2b90 100644
--- a/test/parallel/test-http2-date-header.js
+++ b/test/parallel/test-http2-date-header.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-dont-override.js b/test/parallel/test-http2-dont-override.js
index 55b29580fbc9..d8573eac340b 100644
--- a/test/parallel/test-http2-dont-override.js
+++ b/test/parallel/test-http2-dont-override.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-getpackedsettings.js b/test/parallel/test-http2-getpackedsettings.js
index 75700bcb23b0..341a55a92c44 100644
--- a/test/parallel/test-http2-getpackedsettings.js
+++ b/test/parallel/test-http2-getpackedsettings.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-goaway-opaquedata.js b/test/parallel/test-http2-goaway-opaquedata.js
index e5904adf3bee..9ff8b13cafd2 100644
--- a/test/parallel/test-http2-goaway-opaquedata.js
+++ b/test/parallel/test-http2-goaway-opaquedata.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-head-request.js b/test/parallel/test-http2-head-request.js
index 07f0eb6c9329..ee86ded54988 100644
--- a/test/parallel/test-http2-head-request.js
+++ b/test/parallel/test-http2-head-request.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-info-headers.js b/test/parallel/test-http2-info-headers.js
index cb91b560cd75..a1491959df39 100755
--- a/test/parallel/test-http2-info-headers.js
+++ b/test/parallel/test-http2-info-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-max-concurrent-streams.js b/test/parallel/test-http2-max-concurrent-streams.js
index 9b582eb68db0..be101720dc47 100644
--- a/test/parallel/test-http2-max-concurrent-streams.js
+++ b/test/parallel/test-http2-max-concurrent-streams.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-methods.js b/test/parallel/test-http2-methods.js
index 1a8828f22c73..dac61359ec01 100644
--- a/test/parallel/test-http2-methods.js
+++ b/test/parallel/test-http2-methods.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-misused-pseudoheaders.js b/test/parallel/test-http2-misused-pseudoheaders.js
index c3eb69c5f297..2744561025dc 100644
--- a/test/parallel/test-http2-misused-pseudoheaders.js
+++ b/test/parallel/test-http2-misused-pseudoheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-multi-content-length.js b/test/parallel/test-http2-multi-content-length.js
index 96407215a33f..da7fbd33a9f8 100644
--- a/test/parallel/test-http2-multi-content-length.js
+++ b/test/parallel/test-http2-multi-content-length.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-multiheaders.js b/test/parallel/test-http2-multiheaders.js
index d7b8f56d51ac..54a900b04e5c 100644
--- a/test/parallel/test-http2-multiheaders.js
+++ b/test/parallel/test-http2-multiheaders.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-multiplex.js b/test/parallel/test-http2-multiplex.js
index 7467b0fa60ed..22622392b8c8 100644
--- a/test/parallel/test-http2-multiplex.js
+++ b/test/parallel/test-http2-multiplex.js
@@ -5,6 +5,8 @@
// connection and makes sure that the data for each is appropriately echoed.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-options-max-headers-block-length.js b/test/parallel/test-http2-options-max-headers-block-length.js
index 41e8d549b4a9..fe3eb9774835 100644
--- a/test/parallel/test-http2-options-max-headers-block-length.js
+++ b/test/parallel/test-http2-options-max-headers-block-length.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-options-max-reserved-streams.js b/test/parallel/test-http2-options-max-reserved-streams.js
index b01ed89de0a3..425ac6eb4ea7 100755
--- a/test/parallel/test-http2-options-max-reserved-streams.js
+++ b/test/parallel/test-http2-options-max-reserved-streams.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-padding-callback.js b/test/parallel/test-http2-padding-callback.js
index 610b636fdcc2..a63f1041f3f8 100644
--- a/test/parallel/test-http2-padding-callback.js
+++ b/test/parallel/test-http2-padding-callback.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const { PADDING_STRATEGY_CALLBACK } = h2.constants;
diff --git a/test/parallel/test-http2-priority-event.js b/test/parallel/test-http2-priority-event.js
index 505f0f1e9b75..b577fdb37637 100644
--- a/test/parallel/test-http2-priority-event.js
+++ b/test/parallel/test-http2-priority-event.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-respond-file-204.js b/test/parallel/test-http2-respond-file-204.js
index 66840e57adac..2a531df46469 100644
--- a/test/parallel/test-http2-respond-file-204.js
+++ b/test/parallel/test-http2-respond-file-204.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-304.js b/test/parallel/test-http2-respond-file-304.js
index 0b279223f14d..d36dd8411f93 100644
--- a/test/parallel/test-http2-respond-file-304.js
+++ b/test/parallel/test-http2-respond-file-304.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-compat.js b/test/parallel/test-http2-respond-file-compat.js
index be256ee2bfa4..53c5a34d2ae0 100644
--- a/test/parallel/test-http2-respond-file-compat.js
+++ b/test/parallel/test-http2-respond-file-compat.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-fd-invalid.js b/test/parallel/test-http2-respond-file-fd-invalid.js
index f46dbd9dc1d1..7e08a29e9370 100644
--- a/test/parallel/test-http2-respond-file-fd-invalid.js
+++ b/test/parallel/test-http2-respond-file-fd-invalid.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
diff --git a/test/parallel/test-http2-respond-file-fd-range.js b/test/parallel/test-http2-respond-file-fd-range.js
index 083dd4561588..13b525c6c115 100644
--- a/test/parallel/test-http2-respond-file-fd-range.js
+++ b/test/parallel/test-http2-respond-file-fd-range.js
@@ -4,6 +4,8 @@
// Tests the ability to minimally request a byte range with respondWithFD
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-fd.js b/test/parallel/test-http2-respond-file-fd.js
index 4e982bca3cfd..502d6e86293d 100644
--- a/test/parallel/test-http2-respond-file-fd.js
+++ b/test/parallel/test-http2-respond-file-fd.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-push.js b/test/parallel/test-http2-respond-file-push.js
index 1c2476f17346..b16a9e1c600d 100644
--- a/test/parallel/test-http2-respond-file-push.js
+++ b/test/parallel/test-http2-respond-file-push.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file-range.js b/test/parallel/test-http2-respond-file-range.js
index 40c5526953aa..a4fda25a9017 100644
--- a/test/parallel/test-http2-respond-file-range.js
+++ b/test/parallel/test-http2-respond-file-range.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-respond-file.js b/test/parallel/test-http2-respond-file.js
index 81babb58fadc..3c5272f77fa0 100644
--- a/test/parallel/test-http2-respond-file.js
+++ b/test/parallel/test-http2-respond-file.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const assert = require('assert');
const path = require('path');
diff --git a/test/parallel/test-http2-response-splitting.js b/test/parallel/test-http2-response-splitting.js
index cd3a5d39d7af..557967a3df6c 100755
--- a/test/parallel/test-http2-response-splitting.js
+++ b/test/parallel/test-http2-response-splitting.js
@@ -6,6 +6,8 @@
// contain invalid characters.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const { URL } = require('url');
diff --git a/test/parallel/test-http2-server-destroy-before-additional.js b/test/parallel/test-http2-server-destroy-before-additional.js
index 9aff3b6abf98..5e04a87323e4 100644
--- a/test/parallel/test-http2-server-destroy-before-additional.js
+++ b/test/parallel/test-http2-server-destroy-before-additional.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-push.js b/test/parallel/test-http2-server-destroy-before-push.js
index 9c1628a18bf6..429f37e2c683 100644
--- a/test/parallel/test-http2-server-destroy-before-push.js
+++ b/test/parallel/test-http2-server-destroy-before-push.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-respond.js b/test/parallel/test-http2-server-destroy-before-respond.js
index acb020d5bd7e..4ea64e82812b 100644
--- a/test/parallel/test-http2-server-destroy-before-respond.js
+++ b/test/parallel/test-http2-server-destroy-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-destroy-before-write.js b/test/parallel/test-http2-server-destroy-before-write.js
index 533aace208c4..724e12624ef6 100644
--- a/test/parallel/test-http2-server-destroy-before-write.js
+++ b/test/parallel/test-http2-server-destroy-before-write.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-push-disabled.js b/test/parallel/test-http2-server-push-disabled.js
index 33f8ed7c65e2..a9cdbd623973 100644
--- a/test/parallel/test-http2-server-push-disabled.js
+++ b/test/parallel/test-http2-server-push-disabled.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-push-stream.js b/test/parallel/test-http2-server-push-stream.js
index c2f34ed517c6..c1de1195f76b 100644
--- a/test/parallel/test-http2-server-push-stream.js
+++ b/test/parallel/test-http2-server-push-stream.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-rst-before-respond.js b/test/parallel/test-http2-server-rst-before-respond.js
index 015e11311f75..d8e9d0a6cc5b 100644
--- a/test/parallel/test-http2-server-rst-before-respond.js
+++ b/test/parallel/test-http2-server-rst-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-server-rst-stream.js b/test/parallel/test-http2-server-rst-stream.js
index 30a9db49afc2..90966f7695b1 100644
--- a/test/parallel/test-http2-server-rst-stream.js
+++ b/test/parallel/test-http2-server-rst-stream.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-set-header.js b/test/parallel/test-http2-server-set-header.js
index 8b0e82fd8a50..b681469ece2b 100644
--- a/test/parallel/test-http2-server-set-header.js
+++ b/test/parallel/test-http2-server-set-header.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-server-shutdown-before-respond.js b/test/parallel/test-http2-server-shutdown-before-respond.js
index ccdbbf5d015c..75e60f46e690 100644
--- a/test/parallel/test-http2-server-shutdown-before-respond.js
+++ b/test/parallel/test-http2-server-shutdown-before-respond.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-server-socket-destroy.js b/test/parallel/test-http2-server-socket-destroy.js
index 15b19ca1786f..d77f7355676f 100755
--- a/test/parallel/test-http2-server-socket-destroy.js
+++ b/test/parallel/test-http2-server-socket-destroy.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const assert = require('assert');
diff --git a/test/parallel/test-http2-server-socketerror.js b/test/parallel/test-http2-server-socketerror.js
index 80b22dbd3de4..5bbb2130f0ec 100755
--- a/test/parallel/test-http2-server-socketerror.js
+++ b/test/parallel/test-http2-server-socketerror.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-server-timeout.js b/test/parallel/test-http2-server-timeout.js
index e56e79fc8623..c3a8ef88517b 100755
--- a/test/parallel/test-http2-server-timeout.js
+++ b/test/parallel/test-http2-server-timeout.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-session-settings.js b/test/parallel/test-http2-session-settings.js
index 1d358f2c96fc..7f54bc2f02dc 100644
--- a/test/parallel/test-http2-session-settings.js
+++ b/test/parallel/test-http2-session-settings.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-session-stream-state.js b/test/parallel/test-http2-session-stream-state.js
index 9ba56f958c43..f122b2718997 100644
--- a/test/parallel/test-http2-session-stream-state.js
+++ b/test/parallel/test-http2-session-stream-state.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-single-headers.js b/test/parallel/test-http2-single-headers.js
index 49918acc474b..cf66e570f91b 100644
--- a/test/parallel/test-http2-single-headers.js
+++ b/test/parallel/test-http2-single-headers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const http2 = require('http2');
const server = http2.createServer();
diff --git a/test/parallel/test-http2-status-code-invalid.js b/test/parallel/test-http2-status-code-invalid.js
index cb8c9072f73c..0fe8319db414 100644
--- a/test/parallel/test-http2-status-code-invalid.js
+++ b/test/parallel/test-http2-status-code-invalid.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-status-code.js b/test/parallel/test-http2-status-code.js
index f094d981c36e..9a6821b1d664 100644
--- a/test/parallel/test-http2-status-code.js
+++ b/test/parallel/test-http2-status-code.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-timeouts.js b/test/parallel/test-http2-timeouts.js
index 093a1bc3d150..a45b13826f6f 100644
--- a/test/parallel/test-http2-timeouts.js
+++ b/test/parallel/test-http2-timeouts.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const h2 = require('http2');
const server = h2.createServer();
diff --git a/test/parallel/test-http2-too-many-settings.js b/test/parallel/test-http2-too-many-settings.js
index 4a64645df141..849e24af4e7f 100644
--- a/test/parallel/test-http2-too-many-settings.js
+++ b/test/parallel/test-http2-too-many-settings.js
@@ -5,6 +5,8 @@
// settings frames will result in a throw.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-trailers.js b/test/parallel/test-http2-trailers.js
index ed2d4b9e5359..282899e65ebf 100644
--- a/test/parallel/test-http2-trailers.js
+++ b/test/parallel/test-http2-trailers.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
const body =
diff --git a/test/parallel/test-http2-window-size.js b/test/parallel/test-http2-window-size.js
index f96a273fec5b..57e27ac29bf7 100644
--- a/test/parallel/test-http2-window-size.js
+++ b/test/parallel/test-http2-window-size.js
@@ -7,6 +7,8 @@
// on smaller / IoT platforms in case this poses problems for these targets.
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');
diff --git a/test/parallel/test-http2-withflag.js b/test/parallel/test-http2-withflag.js
index 557ec40e643e..069212257c2f 100644
--- a/test/parallel/test-http2-withflag.js
+++ b/test/parallel/test-http2-withflag.js
@@ -1,7 +1,9 @@
// Flags: --expose-http2
'use strict';
-require('../common');
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
assert.doesNotThrow(() => require('http2'));
diff --git a/test/parallel/test-http2-write-callbacks.js b/test/parallel/test-http2-write-callbacks.js
index b371ebf681e4..e45e8ccb7d4a 100644
--- a/test/parallel/test-http2-write-callbacks.js
+++ b/test/parallel/test-http2-write-callbacks.js
@@ -4,6 +4,8 @@
// Verifies that write callbacks are called
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-write-empty-string.js b/test/parallel/test-http2-write-empty-string.js
index 661777e39f85..e7a55e5c0a44 100644
--- a/test/parallel/test-http2-write-empty-string.js
+++ b/test/parallel/test-http2-write-empty-string.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
diff --git a/test/parallel/test-http2-zero-length-write.js b/test/parallel/test-http2-zero-length-write.js
index 5f4f0681d4ba..f261cc72961e 100644
--- a/test/parallel/test-http2-zero-length-write.js
+++ b/test/parallel/test-http2-zero-length-write.js
@@ -2,6 +2,8 @@
'use strict';
const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');