Support for group license

Content keys in ECM v3 can now additionally be encrypted by group
entitlement keys.
This commit is contained in:
Lu Chen
2021-03-04 14:35:08 -08:00
parent 79e39b482d
commit 62777d7d3b
66 changed files with 1275 additions and 954 deletions

View File

@@ -34,6 +34,7 @@ cc_library(
hdrs = ["playready_interface.h"],
deps = [
"//util:error_space",
"//protos/public:external_license_cc_proto",
"//protos/public:license_protocol_cc_proto",
],
)
@@ -43,6 +44,7 @@ cc_library(
hdrs = ["playready_sdk_impl.h"],
deps = [
":playready_interface",
"//protos/public:external_license_cc_proto",
"//protos/public:license_protocol_cc_proto",
],
)
@@ -352,6 +354,28 @@ cc_library(
],
)
cc_library(
name = "device_certificate_serial_number_util",
srcs = ["device_certificate_serial_number_util.cc"],
hdrs = ["device_certificate_serial_number_util.h"],
deps = [
":sha_util",
"//base",
"@abseil_repo//absl/types:optional",
],
)
cc_test(
name = "device_certificate_serial_number_util_test",
srcs = ["device_certificate_serial_number_util_test.cc"],
deps = [
":device_certificate_serial_number_util",
"//testing:gunit",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
)
cc_library(
name = "private_key_util",
hdrs = ["private_key_util.h"],
@@ -1218,3 +1242,45 @@ cc_test(
"//protos/public:remote_attestation_cc_proto",
],
)
cc_library(
name = "signed_message_util",
srcs = ["signed_message_util.cc"],
hdrs = ["signed_message_util.h"],
deps = [
":client_cert",
":client_id_util",
":device_status_list",
":error_space",
":status",
":wvm_token_handler",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:license_protocol_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
cc_test(
name = "signed_message_util_test",
srcs = ["signed_message_util_test.cc"],
deps = [
":device_status_list",
":error_space",
":rsa_key",
":rsa_test_keys",
":signed_message_util",
":status",
"//external:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:license_protocol_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)