MediaDrm API update
Clarify offline usage of sessions and keys and implement implement CryptoSession to support additional crypto use cases. Change-Id: I3788e7b187cd20c4224bf07f3fc6bef48ee38bd6
This commit is contained in:
@@ -32,21 +32,25 @@ class WVDrmPlugin : public android::DrmPlugin {
|
||||
|
||||
virtual status_t closeSession(const Vector<uint8_t>& sessionId);
|
||||
|
||||
virtual status_t getLicenseRequest(
|
||||
virtual status_t getKeyRequest(
|
||||
const Vector<uint8_t>& sessionId,
|
||||
const Vector<uint8_t>& initData,
|
||||
const String8& mimeType,
|
||||
LicenseType licenseType,
|
||||
KeyType keyType,
|
||||
const KeyedVector<String8, String8>& optionalParameters,
|
||||
Vector<uint8_t>& request,
|
||||
String8& defaultUrl);
|
||||
|
||||
virtual status_t provideLicenseResponse(const Vector<uint8_t>& sessionId,
|
||||
const Vector<uint8_t>& response);
|
||||
virtual status_t provideKeyResponse(const Vector<uint8_t>& sessionId,
|
||||
const Vector<uint8_t>& response,
|
||||
Vector<uint8_t>& keySetId);
|
||||
|
||||
virtual status_t removeLicense(const Vector<uint8_t>& sessionId);
|
||||
virtual status_t removeKeys(const Vector<uint8_t>& keySetId);
|
||||
|
||||
virtual status_t queryLicenseStatus(
|
||||
virtual status_t restoreKeys(const Vector<uint8_t>& sessionId,
|
||||
const Vector<uint8_t>& keySetId);
|
||||
|
||||
virtual status_t queryKeyStatus(
|
||||
const Vector<uint8_t>& sessionId,
|
||||
KeyedVector<String8, String8>& infoMap) const;
|
||||
|
||||
@@ -68,6 +72,34 @@ class WVDrmPlugin : public android::DrmPlugin {
|
||||
|
||||
virtual status_t setPropertyByteArray(const String8& name,
|
||||
const Vector<uint8_t>& value);
|
||||
virtual status_t setCipherAlgorithm(Vector<uint8_t> const &sessionId,
|
||||
String8 const &algorithm);
|
||||
|
||||
virtual status_t setMacAlgorithm(Vector<uint8_t> const &sessionId,
|
||||
String8 const &algorithm);
|
||||
|
||||
virtual status_t encrypt(Vector<uint8_t> const &sessionId,
|
||||
Vector<uint8_t> const &keyId,
|
||||
Vector<uint8_t> const &input,
|
||||
Vector<uint8_t> const &iv,
|
||||
Vector<uint8_t> &output);
|
||||
|
||||
virtual status_t decrypt(Vector<uint8_t> const &sessionId,
|
||||
Vector<uint8_t> const &keyId,
|
||||
Vector<uint8_t> const &input,
|
||||
Vector<uint8_t> const &iv,
|
||||
Vector<uint8_t> &output);
|
||||
|
||||
virtual status_t sign(Vector<uint8_t> const &sessionId,
|
||||
Vector<uint8_t> const &keyId,
|
||||
Vector<uint8_t> const &message,
|
||||
Vector<uint8_t> &signature);
|
||||
|
||||
virtual status_t verify(Vector<uint8_t> const &sessionId,
|
||||
Vector<uint8_t> const &keyId,
|
||||
Vector<uint8_t> const &message,
|
||||
Vector<uint8_t> const &signature,
|
||||
bool &match);
|
||||
|
||||
private:
|
||||
DISALLOW_EVIL_CONSTRUCTORS(WVDrmPlugin);
|
||||
|
||||
Reference in New Issue
Block a user