1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_EXTRAS_SQLITE_COOKIE_CRYPTO_DELEGATE_H_
6 #define NET_EXTRAS_SQLITE_COOKIE_CRYPTO_DELEGATE_H_
10 // Implements encryption and decryption for the persistent cookie store.
11 class CookieCryptoDelegate
{
13 virtual ~CookieCryptoDelegate() {}
15 // Return if cookies should be encrypted on this platform. Decryption of
16 // previously encrypted cookies is always possible.
17 virtual bool ShouldEncrypt() = 0;
19 // Encrypt |plaintext| string and store the result in |ciphertext|. This
20 // method is always functional even if ShouldEncrypt() is false.
21 virtual bool EncryptString(const std::string
& plaintext
,
22 std::string
* ciphertext
) = 0;
24 // Decrypt |ciphertext| string and store the result in |plaintext|. This
25 // method is always functional even if ShouldEncrypt() is false.
26 virtual bool DecryptString(const std::string
& ciphertext
,
27 std::string
* plaintext
) = 0;
32 #endif // NET_EXTRAS_SQLITE_COOKIE_CRYPTO_DELEGATE_H_