| Index: media/crypto/aes_decryptor.h
|
| diff --git a/media/crypto/aes_decryptor.h b/media/crypto/aes_decryptor.h
|
| index d86d4bc77dacc3f74de5152292d3a1fff9e1517f..63bff1cb74b68b208197b24d8d894f3b16243f2b 100644
|
| --- a/media/crypto/aes_decryptor.h
|
| +++ b/media/crypto/aes_decryptor.h
|
| @@ -25,8 +25,7 @@ namespace media {
|
| class DecryptorClient;
|
|
|
| // Decrypts an AES encrypted buffer into an unencrypted buffer. The AES
|
| -// encryption must be CTR with a key size of 128bits. Optionally checks the
|
| -// integrity of the encrypted data.
|
| +// encryption must be CTR with a key size of 128bits.
|
| class MEDIA_EXPORT AesDecryptor : public Decryptor {
|
| public:
|
| // The AesDecryptor does not take ownership of the |client|. The |client|
|
| @@ -46,47 +45,34 @@ class MEDIA_EXPORT AesDecryptor : public Decryptor {
|
| const std::string& session_id) OVERRIDE;
|
| virtual void CancelKeyRequest(const std::string& key_system,
|
| const std::string& session_id) OVERRIDE;
|
| - // Decrypts |encrypted| buffer. |encrypted| should not be NULL. |encrypted|
|
| - // will signal if an integrity check must be performed before decryption.
|
| - // Returns a DecoderBuffer with the decrypted data if the decryption
|
| - // succeeded through |decrypt_cb|.
|
| + // Decrypts |encrypted| buffer. |encrypted| should not be NULL. Returns a
|
| + // DecoderBuffer with the decrypted data if the decryption succeeded through
|
| + // |decrypt_cb|.
|
| virtual void Decrypt(const scoped_refptr<DecoderBuffer>& encrypted,
|
| const DecryptCB& decrypt_cb) OVERRIDE;
|
| virtual void Stop() OVERRIDE;
|
|
|
| private:
|
| - // Helper class that manages the decryption key and HMAC key. The HMAC key
|
| - // may be NULL.
|
| + // TODO(fgalligan): Remove this and change KeyMap to use crypto::SymmetricKey
|
| + // as there are no decryptors that are performing an integrity check.
|
| + // Helper class that manages the decryption key.
|
| class DecryptionKey {
|
| public:
|
| explicit DecryptionKey(const std::string& secret);
|
| ~DecryptionKey();
|
|
|
| - // Creates the encryption key, and derives the WebM decryption key and HMAC.
|
| + // Creates the encryption key.
|
| bool Init();
|
|
|
| crypto::SymmetricKey* decryption_key() { return decryption_key_.get(); }
|
| - crypto::SymmetricKey* webm_decryption_key()
|
| - { return webm_decryption_key_.get(); }
|
| - base::StringPiece hmac_key() { return base::StringPiece(hmac_key_); }
|
|
|
| private:
|
| - // The base secret that is used to derive the decryption key and optionally
|
| - // the HMAC key.
|
| + // The base secret that is used to create the decryption key.
|
| const std::string secret_;
|
|
|
| // The key used to decrypt the data.
|
| scoped_ptr<crypto::SymmetricKey> decryption_key_;
|
|
|
| - // The key used for decryption of WebM media, derived from the secret.
|
| - scoped_ptr<crypto::SymmetricKey> webm_decryption_key_;
|
| -
|
| - // The key used to perform the integrity check. Currently the HMAC key is
|
| - // defined by the WebM encrypted specification. Current encrypted WebM
|
| - // request for comments specification is here
|
| - // http://wiki.webmproject.org/encryption/webm-encryption-rfc
|
| - std::string hmac_key_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(DecryptionKey);
|
| };
|
|
|
|
|