| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/stl_util.h" | |
| 6 #include "base/values.h" | 5 #include "base/values.h" |
| 7 #include "components/webcrypto/algorithm_dispatch.h" | 6 #include "components/webcrypto/algorithm_dispatch.h" |
| 8 #include "components/webcrypto/algorithms/test_helpers.h" | 7 #include "components/webcrypto/algorithms/test_helpers.h" |
| 9 #include "components/webcrypto/crypto_data.h" | 8 #include "components/webcrypto/crypto_data.h" |
| 10 #include "components/webcrypto/status.h" | 9 #include "components/webcrypto/status.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "third_party/WebKit/public/platform/WebCryptoAlgorithmParams.h" | 11 #include "third_party/WebKit/public/platform/WebCryptoAlgorithmParams.h" |
| 13 #include "third_party/WebKit/public/platform/WebCryptoKeyAlgorithm.h" | 12 #include "third_party/WebKit/public/platform/WebCryptoKeyAlgorithm.h" |
| 14 | 13 |
| 15 namespace webcrypto { | 14 namespace webcrypto { |
| 16 | 15 |
| 17 namespace { | 16 namespace { |
| 18 | 17 |
| 19 // Creates an AES-GCM algorithm. | 18 // Creates an AES-GCM algorithm. |
| 20 blink::WebCryptoAlgorithm CreateAesGcmAlgorithm( | 19 blink::WebCryptoAlgorithm CreateAesGcmAlgorithm( |
| 21 const std::vector<uint8_t>& iv, | 20 const std::vector<uint8_t>& iv, |
| 22 const std::vector<uint8_t>& additional_data, | 21 const std::vector<uint8_t>& additional_data, |
| 23 unsigned int tag_length_bits) { | 22 unsigned int tag_length_bits) { |
| 24 return blink::WebCryptoAlgorithm::adoptParamsAndCreate( | 23 return blink::WebCryptoAlgorithm::adoptParamsAndCreate( |
| 25 blink::WebCryptoAlgorithmIdAesGcm, | 24 blink::WebCryptoAlgorithmIdAesGcm, |
| 26 new blink::WebCryptoAesGcmParams( | 25 new blink::WebCryptoAesGcmParams( |
| 27 vector_as_array(&iv), static_cast<unsigned int>(iv.size()), true, | 26 iv.data(), static_cast<unsigned int>(iv.size()), true, |
| 28 vector_as_array(&additional_data), | 27 additional_data.data(), |
| 29 static_cast<unsigned int>(additional_data.size()), true, | 28 static_cast<unsigned int>(additional_data.size()), true, |
| 30 tag_length_bits)); | 29 tag_length_bits)); |
| 31 } | 30 } |
| 32 | 31 |
| 33 blink::WebCryptoAlgorithm CreateAesGcmKeyGenAlgorithm( | 32 blink::WebCryptoAlgorithm CreateAesGcmKeyGenAlgorithm( |
| 34 unsigned short key_length_bits) { | 33 unsigned short key_length_bits) { |
| 35 return CreateAesKeyGenAlgorithm(blink::WebCryptoAlgorithmIdAesGcm, | 34 return CreateAesKeyGenAlgorithm(blink::WebCryptoAlgorithmIdAesGcm, |
| 36 key_length_bits); | 35 key_length_bits); |
| 37 } | 36 } |
| 38 | 37 |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 AesGcmDecrypt(key, test_iv, test_additional_data, | 212 AesGcmDecrypt(key, test_iv, test_additional_data, |
| 214 wrong_tag_size_bits, test_cipher_text, | 213 wrong_tag_size_bits, test_cipher_text, |
| 215 test_authentication_tag, &plain_text)); | 214 test_authentication_tag, &plain_text)); |
| 216 } | 215 } |
| 217 } | 216 } |
| 218 } | 217 } |
| 219 | 218 |
| 220 } // namespace | 219 } // namespace |
| 221 | 220 |
| 222 } // namespace webcrypto | 221 } // namespace webcrypto |
| OLD | NEW |