blob: 1c092f13cb57dd9b1797ba98ef26c233e02fa9de [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//testing/test.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
static_library("webcrypto") {
sources = [
"algorithm_dispatch.cc",
"algorithm_dispatch.h",
"algorithm_implementation.cc",
"algorithm_implementation.h",
"algorithm_implementations.h",
"algorithm_registry.cc",
"algorithm_registry.h",
"algorithms/aes.cc",
"algorithms/aes.h",
"algorithms/aes_cbc.cc",
"algorithms/aes_ctr.cc",
"algorithms/aes_gcm.cc",
"algorithms/aes_kw.cc",
"algorithms/asymmetric_key_util.cc",
"algorithms/asymmetric_key_util.h",
"algorithms/ec.cc",
"algorithms/ec.h",
"algorithms/ecdh.cc",
"algorithms/ecdsa.cc",
"algorithms/hkdf.cc",
"algorithms/hmac.cc",
"algorithms/pbkdf2.cc",
"algorithms/rsa.cc",
"algorithms/rsa.h",
"algorithms/rsa_oaep.cc",
"algorithms/rsa_pss.cc",
"algorithms/rsa_sign.cc",
"algorithms/rsa_sign.h",
"algorithms/rsa_ssa.cc",
"algorithms/secret_key_util.cc",
"algorithms/secret_key_util.h",
"algorithms/sha.cc",
"algorithms/util.cc",
"algorithms/util.h",
"blink_key_handle.cc",
"blink_key_handle.h",
"crypto_data.cc",
"crypto_data.h",
"generate_key_result.cc",
"generate_key_result.h",
"jwk.cc",
"jwk.h",
"status.cc",
"status.h",
"webcrypto_impl.cc",
"webcrypto_impl.h",
]
deps = [
"//base",
"//crypto",
"//crypto:platform",
"//third_party/blink/public:blink_headers",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"algorithms/aes_cbc_unittest.cc",
"algorithms/aes_ctr_unittest.cc",
"algorithms/aes_gcm_unittest.cc",
"algorithms/aes_kw_unittest.cc",
"algorithms/ecdh_unittest.cc",
"algorithms/ecdsa_unittest.cc",
"algorithms/hmac_unittest.cc",
"algorithms/rsa_oaep_unittest.cc",
"algorithms/rsa_pss_unittest.cc",
"algorithms/rsa_ssa_unittest.cc",
"algorithms/sha_unittest.cc",
"algorithms/test_helpers.cc",
"algorithms/test_helpers.h",
"status_unittest.cc",
]
deps = [
":webcrypto",
"//base/test:test_support",
"//crypto",
"//crypto:platform",
"//testing/gtest",
"//testing/perf",
"//third_party/blink/public:blink",
"//third_party/re2",
]
}
# Shared functionality for writing WebCrypto fuzzers at this layer (several
# things need to be done to initialize Blink and pull in the right
# dependencies).
source_set("fuzzer_support") {
testonly = true
sources = [
"fuzzer_support.cc",
"fuzzer_support.h",
]
deps = [
":webcrypto",
"//base",
"//crypto",
"//crypto:platform",
"//mojo/core/embedder",
"//third_party/blink/public:blink",
]
}
# Tests the import of PKCS8 formatted EC keys.
fuzzer_test("webcrypto_ec_import_key_pkcs8_fuzzer") {
sources = [
"ec_import_key_pkcs8_fuzzer.cc",
]
deps = [
":fuzzer_support",
":webcrypto",
"//third_party/blink/public:blink_headers",
]
}
# Tests the import of SPKI formatted EC keys.
fuzzer_test("webcrypto_ec_import_key_spki_fuzzer") {
sources = [
"ec_import_key_spki_fuzzer.cc",
]
deps = [
":fuzzer_support",
":webcrypto",
"//third_party/blink/public:blink_headers",
]
}
# Tests the import of raw (X9.62) formatted EC keys.
fuzzer_test("webcrypto_ec_import_key_raw_fuzzer") {
sources = [
"ec_import_key_raw_fuzzer.cc",
]
deps = [
":fuzzer_support",
":webcrypto",
"//third_party/blink/public:blink_headers",
]
}
# Tests the import of PKCS8 formatted RSA keys.
fuzzer_test("webcrypto_rsa_import_key_pkcs8_fuzzer") {
sources = [
"rsa_import_key_pkcs8_fuzzer.cc",
]
deps = [
":fuzzer_support",
":webcrypto",
"//third_party/blink/public:blink_headers",
]
}
# Tests the import of SPKI formatted RSA keys.
fuzzer_test("webcrypto_rsa_import_key_spki_fuzzer") {
sources = [
"rsa_import_key_spki_fuzzer.cc",
]
deps = [
":fuzzer_support",
":webcrypto",
"//third_party/blink/public:blink_headers",
]
}