1package( 2 default_visibility = ["//:__subpackages__"], 3) 4 5licenses(["notice"]) 6 7cc_library( 8 name = "hkdf_prf_key_manager", 9 hdrs = ["hkdf_prf_key_manager.h"], 10 include_prefix = "tink/prf", 11 deps = [ 12 ":prf_set", 13 "//:core/key_type_manager", 14 "//:input_stream", 15 "//proto:common_cc_proto", 16 "//proto:hkdf_prf_cc_proto", 17 "//proto:tink_cc_proto", 18 "//subtle", 19 "//subtle/prf:hkdf_streaming_prf", 20 "//subtle/prf:prf_set_util", 21 "//subtle/prf:streaming_prf", 22 "//util:constants", 23 "//util:enums", 24 "//util:input_stream_util", 25 "//util:secret_data", 26 "//util:status", 27 "//util:statusor", 28 "//util:validation", 29 "@com_google_absl//absl/memory", 30 "@com_google_absl//absl/status", 31 "@com_google_absl//absl/strings", 32 ], 33) 34 35cc_library( 36 name = "prf_config", 37 srcs = ["prf_config.cc"], 38 hdrs = ["prf_config.h"], 39 include_prefix = "tink/prf", 40 visibility = ["//visibility:public"], 41 deps = [ 42 ":aes_cmac_prf_key_manager", 43 ":hkdf_prf_key_manager", 44 ":hmac_prf_key_manager", 45 ":prf_set_wrapper", 46 "//:registry", 47 "//config:tink_fips", 48 "//proto:tink_cc_proto", 49 "//util:status", 50 ], 51) 52 53cc_library( 54 name = "prf_key_templates", 55 srcs = ["prf_key_templates.cc"], 56 hdrs = ["prf_key_templates.h"], 57 include_prefix = "tink/prf", 58 visibility = ["//visibility:public"], 59 deps = [ 60 ":aes_cmac_prf_key_manager", 61 ":hkdf_prf_key_manager", 62 ":hmac_prf_key_manager", 63 "//proto:aes_cmac_prf_cc_proto", 64 "//proto:hkdf_prf_cc_proto", 65 "//proto:hmac_prf_cc_proto", 66 "//proto:tink_cc_proto", 67 "@com_google_absl//absl/memory", 68 ], 69) 70 71cc_library( 72 name = "prf_set", 73 srcs = ["prf_set.cc"], 74 hdrs = ["prf_set.h"], 75 include_prefix = "tink/prf", 76 visibility = ["//visibility:public"], 77 deps = [ 78 "//util:statusor", 79 "@com_google_absl//absl/status", 80 "@com_google_absl//absl/strings", 81 ], 82) 83 84cc_library( 85 name = "prf_set_wrapper", 86 srcs = ["prf_set_wrapper.cc"], 87 hdrs = ["prf_set_wrapper.h"], 88 include_prefix = "tink/prf", 89 deps = [ 90 ":prf_set", 91 "//:primitive_set", 92 "//:primitive_wrapper", 93 "//internal:monitoring_util", 94 "//internal:registry_impl", 95 "//monitoring", 96 "//proto:tink_cc_proto", 97 "//util:status", 98 "//util:statusor", 99 "@com_google_absl//absl/memory", 100 "@com_google_absl//absl/status", 101 "@com_google_absl//absl/status:statusor", 102 ], 103) 104 105cc_library( 106 name = "aes_cmac_prf_key_manager", 107 hdrs = ["aes_cmac_prf_key_manager.h"], 108 include_prefix = "tink/prf", 109 deps = [ 110 "//:core/key_type_manager", 111 "//:key_manager", 112 "//proto:aes_cmac_prf_cc_proto", 113 "//proto:tink_cc_proto", 114 "//subtle:random", 115 "//subtle:stateful_cmac_boringssl", 116 "//subtle/prf:prf_set_util", 117 "//util:constants", 118 "//util:errors", 119 "//util:input_stream_util", 120 "//util:protobuf_helper", 121 "//util:secret_data", 122 "//util:status", 123 "//util:statusor", 124 "//util:validation", 125 "@com_google_absl//absl/memory", 126 "@com_google_absl//absl/status", 127 "@com_google_absl//absl/strings", 128 ], 129) 130 131cc_library( 132 name = "hmac_prf_key_manager", 133 srcs = ["hmac_prf_key_manager.cc"], 134 hdrs = ["hmac_prf_key_manager.h"], 135 include_prefix = "tink/prf", 136 deps = [ 137 "//:core/key_type_manager", 138 "//:key_manager", 139 "//internal:fips_utils", 140 "//proto:hmac_prf_cc_proto", 141 "//proto:tink_cc_proto", 142 "//subtle:common_enums", 143 "//subtle:random", 144 "//subtle:stateful_hmac_boringssl", 145 "//subtle/prf:prf_set_util", 146 "//util:constants", 147 "//util:enums", 148 "//util:errors", 149 "//util:input_stream_util", 150 "//util:protobuf_helper", 151 "//util:secret_data", 152 "//util:status", 153 "//util:statusor", 154 "//util:validation", 155 "@com_google_absl//absl/memory", 156 "@com_google_absl//absl/status", 157 "@com_google_absl//absl/strings", 158 ], 159) 160 161cc_test( 162 name = "hkdf_prf_key_manager_test", 163 srcs = ["hkdf_prf_key_manager_test.cc"], 164 deps = [ 165 ":hkdf_prf_key_manager", 166 "//proto:common_cc_proto", 167 "//subtle", 168 "//subtle/prf:hkdf_streaming_prf", 169 "//subtle/prf:prf_set_util", 170 "//util:input_stream_util", 171 "//util:istream_input_stream", 172 "//util:secret_data", 173 "//util:test_matchers", 174 "@com_google_absl//absl/status", 175 "@com_google_googletest//:gtest_main", 176 ], 177) 178 179cc_test( 180 name = "prf_key_templates_test", 181 srcs = ["prf_key_templates_test.cc"], 182 deps = [ 183 ":aes_cmac_prf_key_manager", 184 ":hkdf_prf_key_manager", 185 ":hmac_prf_key_manager", 186 ":prf_key_templates", 187 "//proto:aes_cmac_prf_cc_proto", 188 "//proto:hmac_prf_cc_proto", 189 "//util:test_matchers", 190 "@com_google_absl//absl/memory", 191 "@com_google_googletest//:gtest_main", 192 ], 193) 194 195cc_test( 196 name = "prf_set_wrapper_test", 197 srcs = ["prf_set_wrapper_test.cc"], 198 deps = [ 199 ":prf_set", 200 ":prf_set_wrapper", 201 "//:primitive_set", 202 "//:registry", 203 "//monitoring:monitoring_client_mocks", 204 "//proto:tink_cc_proto", 205 "//util:status", 206 "//util:statusor", 207 "//util:test_matchers", 208 "@com_google_absl//absl/memory", 209 "@com_google_absl//absl/status", 210 "@com_google_absl//absl/strings", 211 "@com_google_googletest//:gtest_main", 212 ], 213) 214 215cc_test( 216 name = "prf_set_test", 217 srcs = ["prf_set_test.cc"], 218 deps = [ 219 ":prf_config", 220 ":prf_key_templates", 221 ":prf_set", 222 "//:keyset_handle", 223 "//:keyset_manager", 224 "//util:statusor", 225 "//util:test_matchers", 226 "//util:test_util", 227 "@com_google_absl//absl/memory", 228 "@com_google_absl//absl/strings", 229 "@com_google_googletest//:gtest_main", 230 ], 231) 232 233cc_test( 234 name = "aes_cmac_prf_key_manager_test", 235 srcs = ["aes_cmac_prf_key_manager_test.cc"], 236 deps = [ 237 ":aes_cmac_prf_key_manager", 238 "//proto:aes_cmac_prf_cc_proto", 239 "//subtle:aes_cmac_boringssl", 240 "//util:istream_input_stream", 241 "//util:status", 242 "//util:statusor", 243 "//util:test_matchers", 244 "@com_google_googletest//:gtest_main", 245 ], 246) 247 248cc_test( 249 name = "hmac_prf_key_manager_test", 250 srcs = ["hmac_prf_key_manager_test.cc"], 251 deps = [ 252 ":hmac_prf_key_manager", 253 ":prf_set", 254 "//:core/key_manager_impl", 255 "//proto:hmac_prf_cc_proto", 256 "//subtle:hmac_boringssl", 257 "//util:istream_input_stream", 258 "//util:secret_data", 259 "//util:status", 260 "//util:statusor", 261 "//util:test_matchers", 262 "@com_google_absl//absl/status", 263 "@com_google_googletest//:gtest_main", 264 ], 265) 266 267cc_test( 268 name = "prf_config_test", 269 srcs = ["prf_config_test.cc"], 270 tags = ["fips"], 271 deps = [ 272 ":hmac_prf_key_manager", 273 ":prf_config", 274 ":prf_key_templates", 275 ":prf_set", 276 "//:tink_cc", 277 "//internal:fips_utils", 278 "//util:status", 279 "//util:test_matchers", 280 "//util:test_util", 281 "@boringssl//:crypto", 282 "@com_google_absl//absl/status", 283 "@com_google_googletest//:gtest_main", 284 ], 285) 286 287cc_library( 288 name = "failing_prfset", 289 srcs = ["failing_prfset.cc"], 290 hdrs = ["failing_prfset.h"], 291 include_prefix = "tink/prf", 292 deps = [ 293 ":prf_set", 294 "@com_google_absl//absl/strings", 295 ], 296) 297 298cc_test( 299 name = "failing_prfset_test", 300 srcs = ["failing_prfset_test.cc"], 301 deps = [ 302 ":failing_prfset", 303 "//util:test_matchers", 304 "@com_google_absl//absl/status", 305 "@com_google_googletest//:gtest_main", 306 ], 307) 308