diff options
| author | Jeff Tinker <jtinker@google.com> | 2014-04-01 22:00:45 +0000 | 
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2014-04-01 22:00:45 +0000 | 
| commit | f356a123bf966150965a1af1cb9bd6ff2ca020de (patch) | |
| tree | 22c31d7cd8430663ee6a78b5daafffc718f11454 /drm/mediadrm | |
| parent | 4f1ef2cd65d734edae17f8586cf717598b40f2c3 (diff) | |
| parent | 68d9d71a792deed75d32fe13febc07c9c12c8449 (diff) | |
| download | frameworks_av-f356a123bf966150965a1af1cb9bd6ff2ca020de.zip frameworks_av-f356a123bf966150965a1af1cb9bd6ff2ca020de.tar.gz frameworks_av-f356a123bf966150965a1af1cb9bd6ff2ca020de.tar.bz2  | |
am 68d9d71a: Support CAST V2 Authentication in MediaDrm
* commit '68d9d71a792deed75d32fe13febc07c9c12c8449':
  Support CAST V2 Authentication in MediaDrm
Diffstat (limited to 'drm/mediadrm')
| -rw-r--r-- | drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.cpp | 39 | ||||
| -rw-r--r-- | drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.h | 16 | 
2 files changed, 48 insertions, 7 deletions
diff --git a/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.cpp b/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.cpp index 69fa7a0..6efc712 100644 --- a/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.cpp +++ b/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.cpp @@ -45,7 +45,7 @@ namespace android {      // MockDrmFactory      bool MockDrmFactory::isCryptoSchemeSupported(const uint8_t uuid[16])      { -        return (!memcmp(uuid, mock_uuid, sizeof(uuid))); +        return (!memcmp(uuid, mock_uuid, sizeof(mock_uuid)));      }      bool MockDrmFactory::isContentTypeSupported(const String8 &mimeType) @@ -65,7 +65,7 @@ namespace android {      // MockCryptoFactory      bool MockCryptoFactory::isCryptoSchemeSupported(const uint8_t uuid[16]) const      { -        return (!memcmp(uuid, mock_uuid, sizeof(uuid))); +        return (!memcmp(uuid, mock_uuid, sizeof(mock_uuid)));      }      status_t MockCryptoFactory::createPlugin(const uint8_t uuid[16], const void *data, @@ -254,7 +254,9 @@ namespace android {          return OK;      } -    status_t MockDrmPlugin::getProvisionRequest(Vector<uint8_t> &request, +    status_t MockDrmPlugin::getProvisionRequest(String8 const &certType, +                                                String8 const &certAuthority, +                                                Vector<uint8_t> &request,                                                  String8 &defaultUrl)      {          Mutex::Autolock lock(mLock); @@ -282,7 +284,9 @@ namespace android {          return OK;      } -    status_t MockDrmPlugin::provideProvisionResponse(Vector<uint8_t> const &response) +    status_t MockDrmPlugin::provideProvisionResponse(Vector<uint8_t> const &response, +                                                     Vector<uint8_t> &certificate, +                                                     Vector<uint8_t> &wrappedKey)      {          Mutex::Autolock lock(mLock);          ALOGD("MockDrmPlugin::provideProvisionResponse(%s)", @@ -600,6 +604,33 @@ namespace android {          return OK;      } +    status_t MockDrmPlugin::signRSA(Vector<uint8_t> const &sessionId, +                                    String8 const &algorithm, +                                    Vector<uint8_t> const &message, +                                    Vector<uint8_t> const &wrappedKey, +                                    Vector<uint8_t> &signature) +    { +        Mutex::Autolock lock(mLock); +        ALOGD("MockDrmPlugin::signRSA(sessionId=%s, algorithm=%s, keyId=%s, " +              "message=%s, signature=%s)", +              vectorToString(sessionId).string(), +              algorithm.string(), +              vectorToString(message).string(), +              vectorToString(wrappedKey).string(), +              vectorToString(signature).string()); + +        // Properties used in mock test, set by mock plugin and verifed cts test app +        //   byte[] wrappedKey         -> mock-wrappedkey +        //   byte[] message            -> mock-message +        //   byte[] signature          -> mock-signature +        mByteArrayProperties.add(String8("mock-sessionid"), sessionId); +        mStringProperties.add(String8("mock-algorithm"), algorithm); +        mByteArrayProperties.add(String8("mock-message"), message); +        mByteArrayProperties.add(String8("mock-wrappedkey"), wrappedKey); +        mByteArrayProperties.add(String8("mock-signature"), signature); +        return OK; +    } +      ssize_t MockDrmPlugin::findSession(Vector<uint8_t> const &sessionId) const      {          ALOGD("findSession: nsessions=%d, size=%d", mSessions.size(), sessionId.size()); diff --git a/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.h b/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.h index 2297f9b..97d7052 100644 --- a/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.h +++ b/drm/mediadrm/plugins/mock/MockDrmCryptoPlugin.h @@ -76,10 +76,14 @@ namespace android {          status_t queryKeyStatus(Vector<uint8_t> const &sessionId,                                  KeyedVector<String8, String8> &infoMap) const; -        status_t getProvisionRequest(Vector<uint8_t> &request, -                                             String8 &defaultUrl); +        status_t getProvisionRequest(String8 const &certType, +                                     String8 const &certAuthority, +                                     Vector<uint8_t> &request, +                                     String8 &defaultUrl); -        status_t provideProvisionResponse(Vector<uint8_t> const &response); +        status_t provideProvisionResponse(Vector<uint8_t> const &response, +                                          Vector<uint8_t> &certificate, +                                          Vector<uint8_t> &wrappedKey);          status_t getSecureStops(List<Vector<uint8_t> > &secureStops);          status_t releaseSecureStops(Vector<uint8_t> const &ssRelease); @@ -122,6 +126,12 @@ namespace android {                          Vector<uint8_t> const &signature,                          bool &match); +        status_t signRSA(Vector<uint8_t> const &sessionId, +                         String8 const &algorithm, +                         Vector<uint8_t> const &message, +                         Vector<uint8_t> const &wrappedKey, +                         Vector<uint8_t> &signature); +      private:          String8 vectorToString(Vector<uint8_t> const &vector) const;          String8 arrayToString(uint8_t const *array, size_t len) const;  | 
