################################################################################ # Copyright 2017 Google LLC. # # This software is licensed under the terms defined in the Widevine Master # License Agreement. For a copy of this agreement, please contact # widevine-licensing@google.com. ################################################################################ # This package is the Widevine SDK used by DRM license servers. It supports # Widevine modular DRM clients, e.g. Widevine CDM in Encryption Media Extension # in Chrome. package(default_visibility = [":friends"]) # friends is a package_group which own the visibility for video widevine license_server_sdk lib package_group( name = "friends", packages = [ "//common/...", "//license_server_sdk/...", "//media_cas_proxy_sdk/...", "//proxy_sdk/...", "//sdk/...", ], ) cc_library( name = "session_impl", srcs = [ "session_impl.cc", ], hdrs = [ "session_impl.h", ], deps = [ ":sdk", "//base", "//strings", "@abseil_repo//absl/strings", "@abseil_repo//absl/synchronization", "//util/endian", "//util/random:global_id", "//common:aes_cbc_util", "//common:client_cert", "//common:crypto_util", "//common:device_status_list", "//common:error_space", "//common:random_util", "//common:remote_attestation_verifier", "//common:drm_root_certificate", "//common:drm_service_certificate", "//common:rsa_key", "//common:sha_util", "//common:signing_key_util", "//common:status", "//common:verified_media_pipeline", "//common:vmp_checker", "//protos/public:client_identification_proto", "//protos/public:errors_proto", "//protos/public:license_protocol_proto", "//protos/public:license_server_sdk_proto", "//protos/public:provisioned_device_info_proto", "//protos/public:widevine_pssh_proto", ], ) cc_library( name = "sdk", srcs = [ "generate_error_response.cc", "key_control_block.cc", "parse_content_id.cc", ], hdrs = [ "generate_error_response.h", "key_control_block.h", "parse_content_id.h", "session_usage_report.h", ], deps = [ "//base", "@abseil_repo//absl/strings", "@abseil_repo//absl/synchronization", "//external:openssl", "//util/endian", "//util:error_space", "//common:drm_service_certificate", "//common:error_space", "//common:status", "//protos/public:client_identification_proto", "//protos/public:errors_proto", "//protos/public:license_protocol_proto", "//protos/public:license_server_sdk_proto", "//protos/public:widevine_pssh_proto", ], ) cc_test( name = "session_impl_test", timeout = "short", srcs = ["session_impl_test.cc"], deps = [ ":sdk", ":session_impl", "//base", "//external:protobuf", "//testing:gunit_main", "@abseil_repo//absl/memory", "@abseil_repo//absl/strings", "//common:aes_cbc_util", "//common:client_cert", "//common:crypto_util", "//common:error_space", "//common:remote_attestation_verifier", "//common:device_status_list", "//common:drm_root_certificate", "//common:rsa_key", "//common:rsa_test_keys", "//common:rsa_util", "//common:sha_util", "//common:signing_key_util", "//common:test_drm_certificates", "//common:test_utils", "//protos/public:client_identification_proto", "//protos/public:device_certificate_status_proto", "//protos/public:drm_certificate_proto", "//protos/public:errors_proto", "//protos/public:license_protocol_proto", "//protos/public:license_server_sdk_proto", "//protos/public:provisioned_device_info_proto", "//protos/public:remote_attestation_proto", "//protos/public:signed_drm_certificate_proto", "//protos/public:widevine_pssh_proto", ], ) cc_test( name = "key_control_block_test", timeout = "short", srcs = ["key_control_block_test.cc"], deps = [ ":sdk", "//base", "//testing:gunit_main", "@abseil_repo//absl/strings", "//protos/public:license_protocol_proto", "//protos/public:license_server_sdk_proto", ], ) cc_test( name = "parse_content_id_test", timeout = "short", srcs = ["parse_content_id_test.cc"], deps = [ ":sdk", "//base", "//testing:gunit_main", "//util/endian", "//common:error_space", "//protos/public:errors_proto", "//protos/public:license_server_sdk_proto", ], )