Update to support OEMCrypto v16 with ODK

This commit is contained in:
KongQun Yang
2020-09-21 15:54:04 -07:00
parent 93265ab9d1
commit 69d813f0f1
203 changed files with 16337 additions and 2290 deletions

View File

@@ -16,10 +16,67 @@ filegroup(
name = "binary_release_files",
srcs = [
"certificate_type.h",
"default_device_security_profile_list.h",
"security_profile_list.h",
"status.h",
],
)
filegroup(
name = "provisioning_sdk_binary_release_files",
srcs = [
"certificate_type.h",
],
)
cc_library(
name = "playready_interface",
hdrs = ["playready_interface.h"],
deps = [
"//util:error_space",
"//protos/public:license_protocol_cc_proto",
],
)
cc_library(
name = "playready_sdk_impl",
hdrs = ["playready_sdk_impl.h"],
deps = [
":playready_interface",
"//protos/public:license_protocol_cc_proto",
],
)
cc_library(
name = "content_id_util",
srcs = ["content_id_util.cc"],
hdrs = ["content_id_util.h"],
deps = [
":error_space",
":status",
"//base",
"//license_server_sdk/internal:sdk",
"//protos/public:errors_cc_proto",
"//protos/public:external_license_cc_proto",
"//protos/public:license_protocol_cc_proto",
"//protos/public:license_server_sdk_cc_proto",
"//protos/public:widevine_pssh_cc_proto",
],
)
cc_test(
name = "content_id_util_test",
srcs = ["content_id_util_test.cc"],
deps = [
":content_id_util",
"//testing:gunit_main",
"//protos/public:errors_cc_proto",
"//protos/public:external_license_cc_proto",
"//protos/public:license_protocol_cc_proto",
"//protos/public:widevine_pssh_cc_proto",
],
)
cc_library(
name = "widevine_system_id",
srcs = ["widevine_system_id.cc"],
@@ -32,16 +89,89 @@ cc_library(
hdrs = ["certificate_type.h"],
)
cc_library(
name = "security_profile_list",
srcs = ["security_profile_list.cc"],
hdrs = ["security_profile_list.h"],
deps = [
":client_id_util",
":device_status_list",
"//base",
"@com_google_protobuf//:protobuf",
"@abseil_repo//absl/synchronization",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:device_common_cc_proto",
"//protos/public:device_security_profile_data_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
"//protos/public:security_profile_cc_proto",
],
)
cc_test(
name = "security_profile_list_test",
timeout = "short",
srcs = ["security_profile_list_test.cc"],
deps = [
":client_id_util",
":security_profile_list",
"//base",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/memory",
"//protos/public:device_common_cc_proto",
"//protos/public:device_security_profile_data_cc_proto",
"//protos/public:security_profile_cc_proto",
],
)
cc_library(
name = "default_device_security_profile_list",
srcs = ["default_device_security_profile_list.cc"],
hdrs = ["default_device_security_profile_list.h"],
deps = [
":client_id_util",
":device_status_list",
":security_profile_list",
"//base",
"@com_google_protobuf//:protobuf",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:device_common_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
"//protos/public:security_profile_cc_proto",
],
)
cc_test(
name = "default_device_security_profile_list_test",
timeout = "short",
srcs = ["default_device_security_profile_list_test.cc"],
deps = [
":client_id_util",
":default_device_security_profile_list",
"//base",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/memory",
"//protos/public:device_common_cc_proto",
"//protos/public:security_profile_cc_proto",
],
)
cc_library(
name = "status",
srcs = ["status.cc"],
hdrs = ["status.h"],
copts = ["-fvisibility=default"],
deps = [
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/strings",
"//util:error_space",
],
# Make sure SDKs links in symbols defined in this
# target.
alwayslink = 1,
)
cc_test(
@@ -55,12 +185,26 @@ cc_test(
cc_library(
name = "client_cert",
srcs = ["client_cert.cc"],
hdrs = ["client_cert.h"],
srcs = [
"certificate_client_cert.cc",
"certificate_client_cert.h",
"client_cert.cc",
"dual_certificate_client_cert.cc",
"dual_certificate_client_cert.h",
"keybox_client_cert.cc",
],
hdrs = [
"client_cert.h",
"keybox_client_cert.h",
],
deps = [
":crypto_util",
":drm_root_certificate",
":ec_key",
":ec_util",
":error_space",
":hash_algorithm",
":openssl_util",
":random_util",
":rsa_key",
":sha_util",
@@ -68,16 +212,13 @@ cc_library(
":status",
":wvm_token_handler",
"//base",
"//strings",
"@abseil_repo//absl/memory",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"@abseil_repo//absl/time",
"//util/gtl:map_util",
"//protos/public:client_identification_proto",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:license_protocol_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:license_protocol_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -86,22 +227,22 @@ cc_test(
srcs = ["client_cert_test.cc"],
deps = [
":client_cert",
":drm_root_certificate",
":ec_key",
":ec_test_keys",
":error_space",
":hash_algorithm",
":hash_algorithm_util",
":rsa_key",
":rsa_test_keys",
":sha_util",
":status",
":test_drm_certificates",
":wvm_test_keys",
"//base",
"//strings",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"@abseil_repo//absl/time",
"//common:rsa_key",
"//common:rsa_test_keys",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -111,22 +252,32 @@ cc_library(
hdrs = ["device_status_list.h"],
deps = [
":client_cert",
":crypto_util",
":drm_root_certificate",
":drm_service_certificate",
":error_space",
":random_util",
":hash_algorithm",
":hash_algorithm_util",
":rsa_key",
":signing_key_util",
":status",
"//base",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"//util/gtl:map_util",
"//protos/public:client_identification_proto",
"//protos/public:device_certificate_status_proto",
"//protos/public:errors_proto",
"//protos/public:provisioned_device_info_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
"//protos/public:signed_device_info_cc_proto",
],
)
cc_library(
name = "device_info_util",
srcs = ["device_info_util.cc"],
hdrs = ["device_info_util.h"],
deps = [
"@abseil_repo//absl/strings",
"//protos/public:device_common_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
],
)
@@ -137,15 +288,21 @@ cc_test(
deps = [
":client_cert",
":device_status_list",
":hash_algorithm",
":hash_algorithm_util",
":rsa_key",
":rsa_test_keys",
":status",
"//base",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//common:rsa_key",
"//common:rsa_test_keys",
"//protos/public:client_identification_proto",
"//protos/public:errors_proto",
"//protos/public:provisioned_device_info_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:device_certificate_status_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:provisioned_device_info_cc_proto",
"//protos/public:signed_device_info_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -155,18 +312,21 @@ cc_library(
hdrs = ["drm_root_certificate.h"],
deps = [
":certificate_type",
":ec_key",
":error_space",
":hash_algorithm",
":hash_algorithm_util",
":rsa_key",
":sha_util",
":signer_public_key",
":status",
"//base",
"@abseil_repo//absl/memory",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"//external:openssl",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -176,16 +336,21 @@ cc_test(
srcs = ["drm_root_certificate_test.cc"],
deps = [
":drm_root_certificate",
":ec_key",
":ec_test_keys",
":error_space",
":hash_algorithm",
":hash_algorithm_util",
":rsa_key",
":rsa_test_keys",
":test_drm_certificates",
"//base",
"@protobuf_repo//:protobuf",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:signed_drm_certificate_proto",
"@abseil_repo//absl/memory",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -195,13 +360,25 @@ cc_library(
hdrs = ["client_id_util.h"],
deps = [
":aes_cbc_util",
":client_cert",
":drm_service_certificate",
":error_space",
":status",
"//base",
"@abseil_repo//absl/strings",
"//protos/public:client_identification_proto",
"//protos/public:errors_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
cc_library(
name = "private_key_util",
hdrs = ["private_key_util.h"],
deps = [
"//base",
"//external:openssl",
],
)
@@ -210,6 +387,7 @@ cc_library(
srcs = ["rsa_util.cc"],
hdrs = ["rsa_util.h"],
deps = [
":private_key_util",
"//base",
"//external:openssl",
],
@@ -243,9 +421,12 @@ cc_library(
srcs = ["rsa_key.cc"],
hdrs = ["rsa_key.h"],
deps = [
":hash_algorithm",
":rsa_util",
":sha_util",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/strings",
"//external:openssl",
],
)
@@ -256,6 +437,7 @@ cc_test(
timeout = "short",
srcs = ["rsa_key_test.cc"],
deps = [
":hash_algorithm",
":rsa_key",
":rsa_test_keys",
":rsa_util",
@@ -269,9 +451,6 @@ cc_library(
testonly = 1,
srcs = ["rsa_test_keys.cc"],
hdrs = ["rsa_test_keys.h"],
deps = [
"//base",
],
)
cc_library(
@@ -279,11 +458,179 @@ cc_library(
testonly = 1,
hdrs = ["mock_rsa_key.h"],
deps = [
":hash_algorithm",
":rsa_key",
"//testing:gunit",
],
)
cc_library(
name = "ec_util",
srcs = ["ec_util.cc"],
hdrs = [
"ec_key.h",
"ec_util.h",
],
deps = [
":hash_algorithm",
":openssl_util",
":private_key_util",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/memory",
"//external:openssl",
],
)
cc_test(
name = "ec_util_test",
size = "medium",
timeout = "short",
srcs = ["ec_util_test.cc"],
deps = [
":ec_test_keys",
":ec_util",
":openssl_util",
"//base",
"//testing:gunit",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
)
cc_library(
name = "ec_key",
srcs = ["ec_key.cc"],
hdrs = ["ec_key.h"],
deps = [
":aes_cbc_util",
":ec_util",
":hash_algorithm",
":openssl_util",
":sha_util",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/memory",
"//external:openssl",
],
)
cc_test(
name = "ec_key_test",
size = "medium",
timeout = "short",
srcs = ["ec_key_test.cc"],
deps = [
":ec_key",
":ec_test_keys",
":ec_util",
":hash_algorithm",
":random_util",
"//testing:gunit",
"//testing:gunit_main",
"//external:openssl",
],
)
cc_library(
name = "ec_key_source",
hdrs = ["ec_key_source.h"],
deps = [
":ec_key",
"//base",
],
)
cc_library(
name = "local_ec_key_source",
srcs = ["local_ec_key_source.cc"],
hdrs = [
"local_ec_key_source.h",
],
deps = [
":ec_key",
":ec_key_source",
":ec_util",
"//base",
"//external:openssl",
],
)
cc_test(
name = "local_ec_key_source_test",
size = "medium",
timeout = "short",
srcs = ["local_ec_key_source_test.cc"],
deps = [
":ec_key",
":ec_test_keys",
":ec_util",
":local_ec_key_source",
":random_util",
"//testing:gunit",
"//testing:gunit_main",
"//external:openssl",
],
)
cc_library(
name = "fake_ec_key_source",
testonly = 1,
srcs = ["fake_ec_key_source.cc"],
hdrs = ["fake_ec_key_source.h"],
deps = [
":ec_key",
":ec_key_source",
":ec_test_keys",
"//base",
"//external:openssl",
],
)
cc_library(
name = "ecies_crypto",
srcs = ["ecies_crypto.cc"],
hdrs = ["ecies_crypto.h"],
deps = [
":aes_cbc_util",
":crypto_util",
":ec_key",
":ec_key_source",
":ec_util",
":openssl_util",
":status",
"//base",
"@abseil_repo//absl/memory",
"@abseil_repo//absl/strings",
"//external:openssl",
],
)
cc_test(
name = "ecies_crypto_test",
size = "medium",
timeout = "short",
srcs = ["ecies_crypto_test.cc"],
deps = [
":ec_key",
":ec_key_source",
":ec_test_keys",
":ec_util",
":ecies_crypto",
":fake_ec_key_source",
"//testing:gunit",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
)
cc_library(
name = "ec_test_keys",
testonly = 1,
srcs = ["ec_test_keys.cc"],
hdrs = ["ec_test_keys.h"],
)
cc_library(
name = "aes_cbc_util",
srcs = ["aes_cbc_util.cc"],
@@ -313,7 +660,6 @@ cc_library(
"//base",
"@abseil_repo//absl/strings",
"//external:openssl",
"//util/endian",
],
)
@@ -326,6 +672,7 @@ cc_test(
"//testing:gunit",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//external:openssl",
],
)
@@ -417,10 +764,10 @@ cc_library(
hdrs = ["signature_util.h"],
deps = [
":aes_cbc_util",
":hash_algorithm",
":rsa_key",
":sha_util",
":status",
"//base",
],
)
@@ -431,7 +778,7 @@ cc_library(
deps = [
":crypto_util",
"//base",
"//protos/public:license_protocol_proto",
"//protos/public:license_protocol_cc_proto",
],
)
@@ -445,7 +792,7 @@ cc_test(
"//testing:gunit",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//protos/public:license_protocol_proto",
"//protos/public:license_protocol_cc_proto",
],
)
@@ -454,10 +801,6 @@ cc_library(
testonly = 1,
srcs = ["test_drm_certificates.cc"],
hdrs = ["test_drm_certificates.h"],
deps = [
"//base",
"@abseil_repo//absl/strings",
],
)
cc_library(
@@ -509,7 +852,7 @@ cc_library(
deps = [
"//util:error_space",
"//util:proto_status",
"//protos/public:errors_proto",
"//protos/public:errors_cc_proto",
],
)
@@ -525,11 +868,12 @@ cc_library(
":status",
":x509_cert",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"//protos/public:client_identification_proto",
"//protos/public:errors_proto",
"//protos/public:remote_attestation_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:remote_attestation_cc_proto",
],
)
@@ -546,13 +890,15 @@ cc_library(
":rsa_util",
":status",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"//util/gtl:map_util",
"//protos/public:client_identification_proto",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:external_license_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -564,19 +910,21 @@ cc_test(
":aes_cbc_util",
":drm_root_certificate",
":drm_service_certificate",
":hash_algorithm_util",
":rsa_key",
":rsa_test_keys",
":rsa_util",
":test_drm_certificates",
"//base",
"@protobuf_repo//:protobuf",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//protos/public:client_identification_proto",
"//protos/public:drm_certificate_proto",
"//protos/public:errors_proto",
"//protos/public:license_server_sdk_proto",
"//protos/public:signed_drm_certificate_proto",
"//protos/public:client_identification_cc_proto",
"//protos/public:drm_certificate_cc_proto",
"//protos/public:errors_cc_proto",
"//protos/public:external_license_cc_proto",
"//protos/public:license_server_sdk_cc_proto",
"//protos/public:signed_drm_certificate_cc_proto",
],
)
@@ -587,9 +935,7 @@ cc_library(
deps = [
":status",
":vmp_checker",
"//base",
"@abseil_repo//absl/strings",
"//protos/public:license_protocol_proto",
"//protos/public:license_protocol_cc_proto",
],
)
@@ -598,11 +944,11 @@ cc_library(
srcs = ["x509_cert.cc"],
hdrs = ["x509_cert.h"],
deps = [
":error_space",
":openssl_util",
":rsa_key",
":status",
"//base",
"@abseil_repo//absl/base:core_headers",
"@abseil_repo//absl/strings",
"@abseil_repo//absl/synchronization",
"//external:openssl",
@@ -629,7 +975,6 @@ cc_test(
":rsa_key",
":test_utils",
":x509_cert",
"//base",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
@@ -642,12 +987,13 @@ cc_library(
deps = [
":certificate_type",
":error_space",
":hash_algorithm_util",
":rsa_key",
":status",
":x509_cert",
"//base",
"//protos/public:errors_proto",
"//protos/public:verified_media_pipeline_proto",
"//protos/public:errors_cc_proto",
"//protos/public:verified_media_pipeline_cc_proto",
],
)
@@ -656,13 +1002,14 @@ cc_test(
timeout = "short",
srcs = ["vmp_checker_test.cc"],
deps = [
":hash_algorithm_util",
":rsa_key",
":vmp_checker",
"//base",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//protos/public:errors_proto",
"//protos/public:verified_media_pipeline_proto",
"//protos/public:errors_cc_proto",
"//protos/public:verified_media_pipeline_cc_proto",
],
)
@@ -670,10 +1017,7 @@ cc_library(
name = "string_util",
srcs = ["string_util.cc"],
hdrs = ["string_util.h"],
deps = [
":status",
"//base",
],
deps = [":status"],
)
cc_test(
@@ -681,7 +1025,161 @@ cc_test(
srcs = ["string_util_test.cc"],
deps = [
":string_util",
"//base",
"//testing:gunit_main",
],
)
cc_library(
name = "output_protection_util",
srcs = ["output_protection_util.cc"],
hdrs = ["output_protection_util.h"],
deps = [
":status",
"//protos/public:client_identification_cc_proto",
"//protos/public:license_protocol_cc_proto",
],
)
cc_test(
name = "output_protection_util_test",
srcs = ["output_protection_util_test.cc"],
deps = [
":output_protection_util",
"//testing:gunit_main",
],
)
cc_library(
name = "rot_id_util",
srcs = ["rot_id_util.cc"],
hdrs = ["rot_id_util.h"],
deps = [
":crypto_util",
":ec_key",
":local_ec_key_source",
":sha_util",
"//base",
"@abseil_repo//absl/strings",
],
)
cc_test(
name = "rot_id_util_test",
srcs = ["rot_id_util_test.cc"],
deps = [
":rot_id_util",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
)
cc_library(
name = "rot_id_generator",
srcs = ["rot_id_generator.cc"],
hdrs = ["rot_id_generator.h"],
deps = [
":crypto_util",
":ec_key",
":ecies_crypto",
":rot_id_util",
":sha_util",
":status",
"//base",
"@abseil_repo//absl/strings",
"//protos/public:drm_certificate_cc_proto",
],
)
cc_test(
name = "rot_id_generator_test",
srcs = ["rot_id_generator_test.cc"],
deps = [
":ec_key",
":ec_test_keys",
":ecies_crypto",
":fake_ec_key_source",
":rot_id_generator",
":rot_id_util",
":status",
"@com_google_protobuf//:protobuf",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
"//protos/public:drm_certificate_cc_proto",
],
)
cc_library(
name = "signer_public_key",
srcs = ["signer_public_key.cc"],
hdrs = ["signer_public_key.h"],
deps = [
":ec_key",
":hash_algorithm",
":rsa_key",
"@abseil_repo//absl/memory",
"//protos/public:drm_certificate_cc_proto",
],
)
cc_test(
name = "signer_public_key_test",
srcs = ["signer_public_key_test.cc"],
deps = [
":ec_key",
":ec_test_keys",
":hash_algorithm",
":rsa_key",
":rsa_test_keys",
":signer_public_key",
"//testing:gunit_main",
"//protos/public:drm_certificate_cc_proto",
],
)
cc_library(
name = "core_message_util",
srcs = ["core_message_util.cc"],
hdrs = ["core_message_util.h"],
deps = [
":sha_util",
"//base",
"@abseil_repo//absl/strings",
"//common/oemcrypto_core_message/odk:kdo",
],
)
cc_test(
name = "core_message_util_test",
srcs = ["core_message_util_test.cc"],
deps = [
":core_message_util",
"//testing:gunit_main",
"@abseil_repo//absl/strings",
],
)
cc_library(
name = "hash_algorithm",
hdrs = ["hash_algorithm.h"],
)
cc_library(
name = "hash_algorithm_util",
srcs = ["hash_algorithm_util.cc"],
hdrs = ["hash_algorithm_util.h"],
deps = [
":hash_algorithm",
"//base",
"//protos/public:hash_algorithm_cc_proto",
],
)
cc_test(
name = "hash_algorithm_util_test",
srcs = ["hash_algorithm_util_test.cc"],
deps = [
":hash_algorithm",
":hash_algorithm_util",
"//testing:gunit_main",
],
)