1package(default_visibility = ["//:__subpackages__"]) 2 3licenses(["notice"]) 4 5cc_library( 6 name = "gcp_kms_aead", 7 srcs = ["gcp_kms_aead.cc"], 8 hdrs = ["gcp_kms_aead.h"], 9 include_prefix = "tink/integration/gcpkms", 10 visibility = ["//visibility:public"], 11 deps = [ 12 "@com_github_grpc_grpc//:grpc++", 13 "@com_google_absl//absl/status", 14 "@com_google_googleapis//google/cloud/kms/v1:kms_cc_grpc", 15 "@tink_cc//:aead", 16 "@tink_cc//util:status", 17 "@tink_cc//util:statusor", 18 ], 19) 20 21cc_library( 22 name = "gcp_kms_client", 23 srcs = ["gcp_kms_client.cc"], 24 hdrs = ["gcp_kms_client.h"], 25 include_prefix = "tink/integration/gcpkms", 26 visibility = ["//visibility:public"], 27 deps = [ 28 ":gcp_kms_aead", 29 "@com_github_grpc_grpc//:grpc++", 30 "@com_google_absl//absl/status", 31 "@com_google_absl//absl/strings", 32 "@com_google_absl//absl/synchronization", 33 "@tink_cc//:aead", 34 "@tink_cc//:kms_client", 35 "@tink_cc//:kms_clients", 36 "@tink_cc//:version", 37 "@tink_cc//util:status", 38 "@tink_cc//util:statusor", 39 ], 40) 41 42cc_test( 43 name = "gcp_kms_aead_integration_test", 44 size = "medium", 45 srcs = ["gcp_kms_aead_integration_test.cc"], 46 data = [ 47 "//testdata/gcp:credentials", 48 "@google_root_pem//file" 49 ], 50 # This target requires valid credentials to interact with the Google Cloud 51 # KMS. 52 tags = ["manual"], 53 deps = [ 54 ":gcp_kms_aead", 55 ":gcp_kms_client", 56 "@bazel_tools//tools/cpp/runfiles", 57 "@com_google_absl//absl/log:check", 58 "@com_google_googletest//:gtest_main", 59 "@tink_cc//util:statusor", 60 "@tink_cc//util:test_matchers", 61 ], 62) 63 64cc_test( 65 name = "gcp_kms_client_test", 66 size = "medium", 67 srcs = ["gcp_kms_client_test.cc"], 68 data = ["//testdata/gcp:credentials"], 69 deps = [ 70 ":gcp_kms_client", 71 "@com_google_absl//absl/status", 72 "@com_google_googletest//:gtest_main", 73 "@tink_cc//util:status", 74 "@tink_cc//util:statusor", 75 "@tink_cc//util:test_matchers", 76 "@tink_cc//util:test_util", 77 ], 78) 79