Add support for Widevine ECM v3

Widevine ECM v3 is redesigned mainly based on protobuf, and supports new features including carrying fingerprinting and service blocking information. Existing clients must upgrade the Widevine CAS plugin to use the new ECM v3.
This commit is contained in:
Lu Chen
2020-12-14 09:49:52 -08:00
parent ad81d517a5
commit 79e39b482d
46 changed files with 3096 additions and 1035 deletions

View File

@@ -83,6 +83,11 @@ class ECPrivateKey {
virtual bool SerializedKey(std::string* serialized_key) const;
// Gets raw private key bytes.
// |raw_private_key| is where the raw bytes are stored.
// Returns true on success and false on error.
virtual bool GetRawPrivateKey(std::string* raw_private_key) const;
private:
friend class ECPublicKey;
@@ -135,6 +140,11 @@ class ECPublicKey {
// octets for the X and Y coordinates.
virtual bool GetPointEncodedKey(std::string* encoded_key) const;
// Gets raw public key bytes.
// |raw_public_key| is where the raw bytes are stored.
// Returns true on success and false on error.
virtual bool GetRawPublicKey(std::string* raw_public_key) const;
private:
friend class ECPrivateKey;