Chromium Code Reviews| Index: net/quic/crypto/aes_128_gcm_12_decrypter.h |
| =================================================================== |
| --- net/quic/crypto/aes_128_gcm_12_decrypter.h (revision 255481) |
| +++ net/quic/crypto/aes_128_gcm_12_decrypter.h (working copy) |
| @@ -5,28 +5,17 @@ |
| #ifndef NET_QUIC_CRYPTO_AES_128_GCM_12_DECRYPTER_H_ |
| #define NET_QUIC_CRYPTO_AES_128_GCM_12_DECRYPTER_H_ |
| -#include <string> |
| +#include "net/quic/crypto/aead_base_decrypter.h" |
| -#include "base/compiler_specific.h" |
| -#include "net/quic/crypto/quic_decrypter.h" |
| - |
| -#if defined(USE_OPENSSL) |
| -#include "net/quic/crypto/scoped_evp_aead_ctx.h" |
| -#endif |
| - |
| namespace net { |
| -namespace test { |
| -class Aes128Gcm12DecrypterPeer; |
| -} // namespace test |
| - |
| // An Aes128Gcm12Decrypter is a QuicDecrypter that implements the |
| // AEAD_AES_128_GCM_12 algorithm specified in RFC 5282. Create an instance by |
| // calling QuicDecrypter::Create(kAESG). |
| // |
| // It uses an authentication tag of 12 bytes (96 bits). The fixed prefix |
| // of the nonce is four bytes. |
| -class NET_EXPORT_PRIVATE Aes128Gcm12Decrypter : public QuicDecrypter { |
| +class NET_EXPORT_PRIVATE Aes128Gcm12Decrypter : public AeadBaseDecrypter { |
| public: |
| enum { |
| // Authentication tags are truncated to 96 bits. |
| @@ -36,32 +25,15 @@ |
| Aes128Gcm12Decrypter(); |
| virtual ~Aes128Gcm12Decrypter(); |
| - // Returns true if the underlying crypto library supports AES GCM. |
| - static bool IsSupported(); |
| - |
| - // QuicDecrypter implementation |
| - virtual bool SetKey(base::StringPiece key) OVERRIDE; |
| - virtual bool SetNoncePrefix(base::StringPiece nonce_prefix) OVERRIDE; |
| - virtual bool Decrypt(base::StringPiece nonce, |
| - base::StringPiece associated_data, |
| - base::StringPiece ciphertext, |
| - unsigned char* output, |
| - size_t* output_length) OVERRIDE; |
| - virtual QuicData* DecryptPacket(QuicPacketSequenceNumber sequence_number, |
| - base::StringPiece associated_data, |
| - base::StringPiece ciphertext) OVERRIDE; |
| - virtual base::StringPiece GetKey() const OVERRIDE; |
| - virtual base::StringPiece GetNoncePrefix() const OVERRIDE; |
| - |
| - private: |
| - // The 128-bit AES key. |
| - unsigned char key_[16]; |
| - // The nonce prefix. |
| - unsigned char nonce_prefix_[4]; |
| - |
| -#if defined(USE_OPENSSL) |
| - ScopedEVPAEADCtx ctx_; |
| +#if !defined(USE_OPENSSL) |
| + protected: |
| + // AeadBaseDecrypter methods: |
| + virtual void FillAeadParams(base::StringPiece nonce, |
| + base::StringPiece associated_data, |
| + size_t auth_tag_size, |
| + AeadParams* aead_params) const OVERRIDE; |
| #endif |
| + |
|
ramant (doing other things)
2014/03/10 14:36:55
nit: Blank line at the end of a code block.
wtc
2014/03/11 04:02:02
Done.
|
| }; |
| } // namespace net |