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

@@ -25,7 +25,10 @@
#include "common/rsa_key.h"
#include <cstdint>
#include "glog/logging.h"
#include "openssl/asn1.h"
#include "openssl/bn.h"
#include "openssl/digest.h"
#include "openssl/err.h"
@@ -60,6 +63,8 @@ std::string GetMessageDigest(const std::string& message,
case widevine::HashAlgorithm::kUnspecified:
case widevine::HashAlgorithm::kSha1:
return widevine::Sha1_Hash(message);
case widevine::HashAlgorithm::kSha384:
return widevine::Sha384_Hash(message);
case widevine::HashAlgorithm::kSha256:
return widevine::Sha256_Hash(message);
}
@@ -73,6 +78,8 @@ const EVP_MD* GetHashMd(widevine::HashAlgorithm hash_algorithm) {
case widevine::HashAlgorithm::kUnspecified:
case widevine::HashAlgorithm::kSha1:
return EVP_sha1();
case widevine::HashAlgorithm::kSha384:
return EVP_sha384();
case widevine::HashAlgorithm::kSha256:
return EVP_sha256();
}