123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- # Copyright (c) 2013 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("//build/buildflag_header.gni")
- import("//build/config/chromeos/ui_mode.gni")
- import("//crypto/features.gni")
- import("//testing/test.gni")
- buildflag_header("buildflags") {
- header = "crypto_buildflags.h"
- flags = [ "USE_NSS_CERTS=$use_nss_certs" ]
- }
- component("crypto") {
- output_name = "crcrypto" # Avoid colliding with OpenSSL's libcrypto.
- sources = [
- "aead.cc",
- "aead.h",
- "crypto_export.h",
- "ec_private_key.cc",
- "ec_private_key.h",
- "ec_signature_creator.cc",
- "ec_signature_creator.h",
- "ec_signature_creator_impl.cc",
- "ec_signature_creator_impl.h",
- "encryptor.cc",
- "encryptor.h",
- "hkdf.cc",
- "hkdf.h",
- "hmac.cc",
- "hmac.h",
- "openssl_util.cc",
- "openssl_util.h",
- "p224_spake.cc",
- "p224_spake.h",
- "random.cc",
- "random.h",
- "rsa_private_key.cc",
- "rsa_private_key.h",
- "scoped_capi_types.h",
- "scoped_nss_types.h",
- "secure_hash.cc",
- "secure_hash.h",
- "secure_util.cc",
- "secure_util.h",
- "sha2.cc",
- "sha2.h",
- "signature_creator.cc",
- "signature_creator.h",
- "signature_verifier.cc",
- "signature_verifier.h",
- "symmetric_key.cc",
- "symmetric_key.h",
- "unexportable_key.cc",
- "unexportable_key.h",
- ]
- deps = [
- "//base",
- "//base/third_party/dynamic_annotations",
- ]
- public_deps = [
- ":buildflags",
- "//third_party/boringssl",
- ]
- if (is_apple) {
- sources += [
- "apple_keychain.h",
- # TODO(brettw): these mocks should be moved to a test_support_crypto
- # target if possible.
- "mock_apple_keychain.cc",
- "mock_apple_keychain.h",
- ]
- if (is_mac) {
- sources += [
- "apple_keychain_mac.cc",
- # TODO(brettw): these mocks should be moved to a test_support_crypto
- # target if possible.
- "mock_apple_keychain_mac.cc",
- ]
- }
- if (is_ios) {
- sources += [
- "apple_keychain_ios.mm",
- # TODO(brettw): these mocks should be moved to a test_support_crypto
- # target if possible.
- "mock_apple_keychain_ios.cc",
- ]
- }
- frameworks = [
- "CoreFoundation.framework",
- "Security.framework",
- ]
- }
- if (is_mac) {
- sources += [
- "mac_security_services_lock.cc",
- "mac_security_services_lock.h",
- ]
- }
- if (is_win) {
- sources += [
- "capi_util.cc",
- "capi_util.h",
- "unexportable_key_win.cc",
- ]
- libs = [ "ncrypt.lib" ]
- }
- # Some files are built when NSS is used for the platform certificate library.
- if (use_nss_certs) {
- sources += [
- "nss_crypto_module_delegate.h",
- "nss_key_util.cc",
- "nss_key_util.h",
- "nss_util.cc",
- "nss_util.h",
- "nss_util_internal.h",
- ]
- deps += [ "//build:chromeos_buildflags" ]
- configs += [ "//build/config/linux/nss" ]
- }
- if (is_chromeos_ash) {
- sources += [ "nss_util_chromeos.cc" ]
- }
- if (is_chromeos || is_chromeos_lacros) {
- sources += [
- "chaps_support.cc",
- "chaps_support.h",
- ]
- }
- defines = [ "CRYPTO_IMPLEMENTATION" ]
- }
- test("crypto_unittests") {
- sources = [
- "aead_unittest.cc",
- "ec_private_key_unittest.cc",
- "ec_signature_creator_unittest.cc",
- "encryptor_unittest.cc",
- "hmac_unittest.cc",
- "p224_spake_unittest.cc",
- "random_unittest.cc",
- "rsa_private_key_unittest.cc",
- "secure_hash_unittest.cc",
- "sha2_unittest.cc",
- "signature_creator_unittest.cc",
- "signature_verifier_unittest.cc",
- "symmetric_key_unittest.cc",
- "unexportable_key_unittest.cc",
- ]
- # Some files are built when NSS is used for the platform certificate library.
- if (use_nss_certs) {
- sources += [
- "nss_key_util_unittest.cc",
- "nss_util_unittest.cc",
- ]
- configs += [ "//build/config/linux/nss" ]
- }
- deps = [
- ":crypto",
- ":test_support",
- "//base",
- "//base/test:run_all_unittests",
- "//base/test:test_support",
- "//testing/gmock",
- "//testing/gtest",
- ]
- }
- static_library("test_support") {
- testonly = true
- sources = [
- "scoped_mock_unexportable_key_provider.cc",
- "scoped_mock_unexportable_key_provider.h",
- ]
- if (use_nss_certs) {
- sources += [
- "scoped_test_nss_db.cc",
- "scoped_test_nss_db.h",
- ]
- configs += [ "//build/config/linux/nss" ]
- }
- if (is_chromeos_ash) {
- sources += [
- "scoped_test_nss_chromeos_user.cc",
- "scoped_test_nss_chromeos_user.h",
- "scoped_test_system_nss_key_slot.cc",
- "scoped_test_system_nss_key_slot.h",
- ]
- }
- deps = [
- ":crypto",
- "//base",
- ]
- }
|