1# Copyright 2017 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package") 16load("//test/core/test_util:grpc_fuzzer.bzl", "grpc_fuzzer") 17 18licenses(["notice"]) 19 20grpc_package(name = "test/core/security") 21 22grpc_fuzzer( 23 name = "alts_credentials_fuzzer", 24 srcs = ["alts_credentials_fuzzer.cc"], 25 corpus = "corpus/alts_credentials_corpus", 26 external_deps = ["absl/log:check"], 27 language = "C++", 28 tags = ["no_windows"], 29 deps = [ 30 "//:gpr", 31 "//:grpc", 32 "//test/core/test_util:grpc_test_util", 33 "//test/core/test_util:grpc_test_util_base", 34 ], 35) 36 37grpc_fuzzer( 38 name = "ssl_server_fuzzer", 39 srcs = ["ssl_server_fuzzer.cc"], 40 corpus = "corpus/ssl_server_corpus", 41 data = [ 42 "//src/core/tsi/test_creds:ca.pem", 43 "//src/core/tsi/test_creds:server1.key", 44 "//src/core/tsi/test_creds:server1.pem", 45 ], 46 external_deps = ["absl/log:check"], 47 language = "C++", 48 tags = ["no_windows"], 49 deps = [ 50 "//:event_engine_base_hdrs", 51 "//:gpr", 52 "//:grpc", 53 "//src/core:default_event_engine", 54 "//test/core/test_util:grpc_test_util", 55 "//test/core/test_util:grpc_test_util_base", 56 ], 57) 58 59grpc_cc_library( 60 name = "oauth2_utils", 61 srcs = ["oauth2_utils.cc"], 62 hdrs = ["oauth2_utils.h"], 63 external_deps = ["absl/log:log"], 64 language = "C++", 65 visibility = ["//test/cpp:__subpackages__"], 66 deps = ["//:grpc"], 67) 68 69grpc_cc_test( 70 name = "auth_context_test", 71 srcs = ["auth_context_test.cc"], 72 external_deps = [ 73 "absl/log:log", 74 "gtest", 75 ], 76 language = "C++", 77 uses_event_engine = False, 78 uses_polling = False, 79 deps = [ 80 "//:gpr", 81 "//:grpc", 82 "//test/core/test_util:grpc_test_util", 83 "//test/core/test_util:grpc_test_util_base", 84 ], 85) 86 87grpc_cc_test( 88 name = "cel_authorization_engine_test", 89 srcs = ["cel_authorization_engine_test.cc"], 90 external_deps = ["gtest"], 91 language = "C++", 92 deps = [ 93 "//:gpr", 94 "//:grpc", 95 "//:grpc_cel_engine", 96 "//test/core/test_util:grpc_test_util", 97 "//test/core/test_util:grpc_test_util_base", 98 ], 99) 100 101grpc_cc_test( 102 name = "credentials_test", 103 srcs = ["credentials_test.cc"], 104 external_deps = [ 105 "absl/log:check", 106 "absl/log:log", 107 "gtest", 108 ], 109 language = "C++", 110 deps = [ 111 "//:gpr", 112 "//:grpc", 113 "//src/core:channel_args", 114 "//src/core:gcp_service_account_identity_credentials", 115 "//test/core/event_engine:event_engine_test_utils", 116 "//test/core/event_engine/fuzzing_event_engine", 117 "//test/core/test_util:grpc_test_util", 118 "//test/core/test_util:grpc_test_util_base", 119 ], 120) 121 122grpc_cc_test( 123 name = "aws_request_signer_test", 124 srcs = ["aws_request_signer_test.cc"], 125 external_deps = [ 126 "absl/log:check", 127 "gtest", 128 ], 129 language = "C++", 130 deps = [ 131 "//:gpr", 132 "//:grpc", 133 "//test/core/test_util:grpc_test_util", 134 "//test/core/test_util:grpc_test_util_base", 135 ], 136) 137 138grpc_cc_test( 139 name = "evaluate_args_test", 140 srcs = ["evaluate_args_test.cc"], 141 external_deps = ["gtest"], 142 language = "C++", 143 deps = [ 144 "//:gpr", 145 "//:grpc", 146 "//src/core:grpc_authorization_base", 147 "//test/core/test_util:grpc_test_util", 148 "//test/core/test_util:grpc_test_util_base", 149 ], 150) 151 152grpc_cc_test( 153 name = "json_token_test", 154 srcs = ["json_token_test.cc"], 155 external_deps = [ 156 "absl/log:log", 157 "gtest", 158 ], 159 language = "C++", 160 tags = ["credential_token_tests"], 161 uses_event_engine = False, 162 uses_polling = False, 163 deps = [ 164 "//:gpr", 165 "//:grpc", 166 "//src/core:slice", 167 "//test/core/test_util:grpc_test_util", 168 "//test/core/test_util:grpc_test_util_base", 169 ], 170) 171 172grpc_cc_test( 173 name = "jwt_verifier_test", 174 srcs = ["jwt_verifier_test.cc"], 175 external_deps = ["gtest"], 176 language = "C++", 177 tags = ["credential_token_tests"], 178 uses_event_engine = False, 179 uses_polling = False, 180 deps = [ 181 "//:gpr", 182 "//:grpc", 183 "//test/core/test_util:grpc_test_util", 184 "//test/core/test_util:grpc_test_util_base", 185 ], 186) 187 188grpc_cc_test( 189 name = "secure_endpoint_test", 190 srcs = ["secure_endpoint_test.cc"], 191 external_deps = [ 192 "absl/log:log", 193 "gtest", 194 ], 195 flaky = True, 196 language = "C++", 197 deps = [ 198 "//:gpr", 199 "//:grpc", 200 "//src/core:slice", 201 "//test/core/iomgr:endpoint_tests", 202 "//test/core/test_util:grpc_test_util", 203 "//test/core/test_util:grpc_test_util_base", 204 ], 205) 206 207grpc_cc_test( 208 name = "security_connector_test", 209 srcs = ["security_connector_test.cc"], 210 external_deps = [ 211 "absl/log:log", 212 "gtest", 213 ], 214 language = "C++", 215 deps = [ 216 "//:gpr", 217 "//:grpc", 218 "//src/core:slice", 219 "//test/core/test_util:grpc_test_util", 220 "//test/core/test_util:grpc_test_util_base", 221 ], 222) 223 224grpc_cc_test( 225 name = "system_roots_test", 226 srcs = ["system_roots_test.cc"], 227 data = [ 228 "//test/core/security/etc:bundle.pem", 229 "//test/core/security/etc:test_roots/cert1.pem", 230 "//test/core/security/etc:test_roots/cert2.pem", 231 "//test/core/security/etc:test_roots/cert3.pem", 232 ], 233 external_deps = [ 234 "gtest", 235 ], 236 language = "C++", 237 deps = [ 238 "//:gpr", 239 "//:grpc", 240 "//src/core:load_file", 241 "//src/core:slice", 242 "//test/core/test_util:grpc_test_util", 243 "//test/core/test_util:grpc_test_util_base", 244 ], 245) 246 247grpc_cc_test( 248 name = "ssl_credentials_test", 249 srcs = ["ssl_credentials_test.cc"], 250 external_deps = ["gtest"], 251 language = "C++", 252 deps = [ 253 "//:gpr", 254 "//:grpc", 255 "//test/core/test_util:grpc_test_util", 256 "//test/core/test_util:grpc_test_util_base", 257 ], 258) 259 260grpc_cc_binary( 261 name = "create_jwt", 262 srcs = ["create_jwt.cc"], 263 language = "C++", 264 deps = [ 265 "//:gpr", 266 "//:grpc", 267 "//test/core/test_util:grpc_test_util", 268 "//test/core/test_util:grpc_test_util_base", 269 ], 270) 271 272grpc_cc_binary( 273 name = "fetch_oauth2", 274 srcs = ["fetch_oauth2.cc"], 275 external_deps = [ 276 "absl/log:check", 277 "absl/log:log", 278 ], 279 language = "C++", 280 deps = [ 281 ":oauth2_utils", 282 "//:gpr", 283 "//:grpc", 284 "//:grpc++", 285 "//test/core/test_util:grpc_test_util", 286 "//test/core/test_util:grpc_test_util_base", 287 ], 288) 289 290grpc_cc_binary( 291 name = "verify_jwt", 292 srcs = ["verify_jwt.cc"], 293 external_deps = ["absl/log:check"], 294 language = "C++", 295 deps = [ 296 "//:gpr", 297 "//:grpc", 298 "//test/core/test_util:grpc_test_util", 299 "//test/core/test_util:grpc_test_util_base", 300 ], 301) 302 303grpc_cc_test( 304 name = "check_gcp_environment_linux_test", 305 srcs = ["check_gcp_environment_linux_test.cc"], 306 external_deps = ["gtest"], 307 language = "C++", 308 deps = [ 309 "//:gpr", 310 "//:grpc", 311 "//test/core/test_util:grpc_test_util", 312 "//test/core/test_util:grpc_test_util_base", 313 ], 314) 315 316grpc_cc_test( 317 name = "check_gcp_environment_windows_test", 318 srcs = ["check_gcp_environment_windows_test.cc"], 319 external_deps = ["gtest"], 320 language = "C++", 321 deps = [ 322 "//:gpr", 323 "//:grpc", 324 "//test/core/test_util:grpc_test_util", 325 "//test/core/test_util:grpc_test_util_base", 326 ], 327) 328 329grpc_cc_test( 330 name = "grpc_alts_credentials_options_test", 331 srcs = ["grpc_alts_credentials_options_test.cc"], 332 external_deps = ["gtest"], 333 language = "C++", 334 deps = [ 335 "//:gpr", 336 "//:grpc", 337 "//test/core/test_util:grpc_test_util", 338 "//test/core/test_util:grpc_test_util_base", 339 ], 340) 341 342grpc_cc_test( 343 name = "alts_security_connector_test", 344 srcs = ["alts_security_connector_test.cc"], 345 external_deps = [ 346 "absl/log:log", 347 "gtest", 348 ], 349 language = "C++", 350 deps = [ 351 "//:gpr", 352 "//:grpc", 353 "//:grpc_base", 354 "//test/core/test_util:grpc_test_util", 355 "//test/core/test_util:grpc_test_util_base", 356 ], 357) 358 359grpc_cc_test( 360 name = "tls_security_connector_test", 361 srcs = ["tls_security_connector_test.cc"], 362 data = [ 363 "//src/core/tsi/test_creds:ca.pem", 364 "//src/core/tsi/test_creds:multi-domain.key", 365 "//src/core/tsi/test_creds:multi-domain.pem", 366 "//src/core/tsi/test_creds:server0.key", 367 "//src/core/tsi/test_creds:server0.pem", 368 "//src/core/tsi/test_creds:server1.key", 369 "//src/core/tsi/test_creds:server1.pem", 370 ], 371 external_deps = [ 372 "absl/log:check", 373 "gtest", 374 ], 375 language = "C++", 376 deps = [ 377 "//:gpr", 378 "//:grpc", 379 "//src/core:channel_args", 380 "//test/core/test_util:grpc_test_util", 381 "//test/core/test_util:grpc_test_util_base", 382 ], 383) 384 385grpc_cc_test( 386 name = "local_security_connector_test", 387 srcs = ["local_security_connector_test.cc"], 388 external_deps = [ 389 "absl/log:check", 390 "gtest", 391 ], 392 language = "C++", 393 deps = [ 394 "//:gpr", 395 "//:grpc", 396 "//src/core:channel_args", 397 "//test/core/test_util:grpc_test_util", 398 "//test/core/test_util:grpc_test_util_base", 399 ], 400) 401 402grpc_cc_test( 403 name = "grpc_tls_credentials_options_test", 404 srcs = ["grpc_tls_credentials_options_test.cc"], 405 data = [ 406 "//src/core/tsi/test_creds:ca.pem", 407 "//src/core/tsi/test_creds:multi-domain.key", 408 "//src/core/tsi/test_creds:multi-domain.pem", 409 "//src/core/tsi/test_creds:server0.key", 410 "//src/core/tsi/test_creds:server0.pem", 411 "//src/core/tsi/test_creds:server1.key", 412 "//src/core/tsi/test_creds:server1.pem", 413 ], 414 external_deps = ["gtest"], 415 language = "C++", 416 deps = [ 417 "//:gpr", 418 "//:grpc", 419 "//test/core/test_util:grpc_test_util", 420 "//test/core/test_util:grpc_test_util_base", 421 ], 422) 423 424grpc_cc_test( 425 name = "grpc_tls_credentials_options_comparator_test", 426 srcs = ["grpc_tls_credentials_options_comparator_test.cc"], 427 external_deps = ["gtest"], 428 language = "C++", 429 deps = [ 430 "//:gpr", 431 "//:grpc", 432 "//test/core/test_util:grpc_test_util", 433 "//test/core/test_util:grpc_test_util_base", 434 ], 435) 436 437grpc_cc_test( 438 name = "grpc_tls_certificate_distributor_test", 439 srcs = ["grpc_tls_certificate_distributor_test.cc"], 440 external_deps = [ 441 "absl/log:check", 442 "gtest", 443 ], 444 language = "C++", 445 deps = [ 446 "//:gpr", 447 "//:grpc", 448 "//src/core:slice", 449 "//test/core/test_util:grpc_test_util", 450 "//test/core/test_util:grpc_test_util_base", 451 ], 452) 453 454grpc_cc_test( 455 name = "grpc_tls_certificate_provider_test", 456 srcs = ["grpc_tls_certificate_provider_test.cc"], 457 data = [ 458 "//src/core/tsi/test_creds:ca.pem", 459 "//src/core/tsi/test_creds:malformed-cert.pem", 460 "//src/core/tsi/test_creds:malformed-key.pem", 461 "//src/core/tsi/test_creds:multi-domain.key", 462 "//src/core/tsi/test_creds:multi-domain.pem", 463 "//src/core/tsi/test_creds:server0.key", 464 "//src/core/tsi/test_creds:server0.pem", 465 "//src/core/tsi/test_creds:server1.key", 466 "//src/core/tsi/test_creds:server1.pem", 467 ], 468 external_deps = [ 469 "absl/log:check", 470 "gtest", 471 ], 472 language = "C++", 473 deps = [ 474 "//:gpr", 475 "//:grpc", 476 "//src/core:slice", 477 "//test/core/test_util:grpc_test_util", 478 "//test/core/test_util:grpc_test_util_base", 479 ], 480) 481 482grpc_cc_test( 483 name = "grpc_tls_certificate_verifier_test", 484 srcs = ["grpc_tls_certificate_verifier_test.cc"], 485 external_deps = [ 486 "absl/log:log", 487 "gtest", 488 ], 489 language = "C++", 490 deps = [ 491 "//:gpr", 492 "//:grpc", 493 "//src/core:slice", 494 "//test/core/test_util:grpc_test_util", 495 "//test/core/test_util:grpc_test_util_base", 496 ], 497) 498 499grpc_cc_test( 500 name = "insecure_security_connector_test", 501 srcs = ["insecure_security_connector_test.cc"], 502 external_deps = [ 503 "gtest", 504 ], 505 deps = [ 506 "//:gpr", 507 "//:grpc", 508 "//test/core/test_util:grpc_test_util", 509 "//test/core/test_util:grpc_test_util_base", 510 ], 511) 512 513grpc_cc_test( 514 name = "xds_credentials_test", 515 srcs = ["xds_credentials_test.cc"], 516 external_deps = [ 517 "gtest", 518 ], 519 deps = [ 520 "//:gpr", 521 "//:grpc", 522 "//test/core/test_util:grpc_test_util", 523 "//test/core/test_util:grpc_test_util_base", 524 ], 525) 526 527grpc_cc_test( 528 name = "rbac_translator_test", 529 srcs = ["rbac_translator_test.cc"], 530 external_deps = ["gtest"], 531 language = "C++", 532 deps = [ 533 "//:gpr", 534 "//:grpc", 535 "//:grpc_authorization_provider", 536 "//test/core/test_util:grpc_test_util", 537 "//test/core/test_util:grpc_test_util_base", 538 ], 539) 540 541grpc_cc_test( 542 name = "authorization_matchers_test", 543 srcs = ["authorization_matchers_test.cc"], 544 external_deps = ["gtest"], 545 language = "C++", 546 deps = [ 547 "//:gpr", 548 "//:grpc", 549 "//src/core:grpc_rbac_engine", 550 "//test/core/test_util:grpc_test_util", 551 "//test/core/test_util:grpc_test_util_base", 552 ], 553) 554 555grpc_cc_test( 556 name = "grpc_authorization_engine_test", 557 srcs = ["grpc_authorization_engine_test.cc"], 558 external_deps = ["gtest"], 559 language = "C++", 560 deps = [ 561 "//:gpr", 562 "//:grpc", 563 "//src/core:grpc_rbac_engine", 564 "//test/core/test_util:audit_logging_utils", 565 "//test/core/test_util:grpc_test_util", 566 "//test/core/test_util:grpc_test_util_base", 567 ], 568) 569 570grpc_cc_test( 571 name = "grpc_authorization_policy_provider_test", 572 srcs = ["grpc_authorization_policy_provider_test.cc"], 573 data = [ 574 "//test/core/security/authorization/test_policies:invalid_policy.json", 575 "//test/core/security/authorization/test_policies:valid_policy_1.json", 576 "//test/core/security/authorization/test_policies:valid_policy_2.json", 577 ], 578 external_deps = ["gtest"], 579 language = "C++", 580 deps = [ 581 "//:gpr", 582 "//:grpc", 583 "//:grpc_authorization_provider", 584 "//test/core/test_util:grpc_test_util", 585 "//test/core/test_util:grpc_test_util_base", 586 ], 587) 588 589grpc_cc_test( 590 name = "channel_creds_registry_test", 591 srcs = ["channel_creds_registry_test.cc"], 592 external_deps = [ 593 "gtest", 594 ], 595 language = "C++", 596 deps = [ 597 "//:gpr", 598 "//:grpc", 599 "//test/core/test_util:grpc_test_util", 600 "//test/core/test_util:grpc_test_util_base", 601 ], 602) 603 604grpc_cc_test( 605 name = "certificate_provider_registry_test", 606 srcs = ["certificate_provider_registry_test.cc"], 607 external_deps = ["gtest"], 608 language = "C++", 609 deps = [ 610 "//:gpr", 611 "//:grpc", 612 "//test/core/test_util:grpc_test_util", 613 ], 614) 615 616grpc_cc_test( 617 name = "grpc_audit_logging_test", 618 srcs = ["grpc_audit_logging_test.cc"], 619 external_deps = ["gtest"], 620 language = "C++", 621 deps = [ 622 "//:gpr", 623 "//:grpc", 624 "//src/core:grpc_audit_logging", 625 "//test/core/test_util:grpc_test_util", 626 ], 627) 628 629grpc_cc_test( 630 name = "grpc_tls_crl_provider_test", 631 srcs = ["grpc_tls_crl_provider_test.cc"], 632 data = [ 633 "//test/core/tsi/test_creds/crl_data:ca.pem", 634 "//test/core/tsi/test_creds/crl_data:intermediate_ca.pem", 635 "//test/core/tsi/test_creds/crl_data/crls:ab06acdd.r0", 636 "//test/core/tsi/test_creds/crl_data/crls:b9322cac.r0", 637 "//test/core/tsi/test_creds/crl_data/crls:current.crl", 638 "//test/core/tsi/test_creds/crl_data/crls:intermediate.crl", 639 ], 640 external_deps = ["gtest"], 641 language = "C++", 642 deps = [ 643 "//:gpr", 644 "//:grpc", 645 "//:iomgr_timer", 646 "//src/core:default_event_engine", 647 "//src/core:grpc_crl_provider", 648 "//test/core/event_engine:event_engine_test_utils", 649 "//test/core/event_engine/fuzzing_event_engine", 650 "//test/core/event_engine/fuzzing_event_engine:fuzzing_event_engine_cc_proto", 651 "//test/core/test_util:fuzz_config_vars_cc_proto", 652 "//test/core/test_util:grpc_test_util", 653 "//test/core/tsi:transport_security_test_lib", 654 ], 655) 656