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 #ifndef CONTENT_CHILD_WEBCRYPTO_STATUS_H_ | 5 #ifndef CONTENT_CHILD_WEBCRYPTO_STATUS_H_ |
6 #define CONTENT_CHILD_WEBCRYPTO_STATUS_H_ | 6 #define CONTENT_CHILD_WEBCRYPTO_STATUS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include "content/common/content_export.h" | 9 #include "content/common/content_export.h" |
10 #include "third_party/WebKit/public/platform/WebCrypto.h" | 10 #include "third_party/WebKit/public/platform/WebCrypto.h" |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 // The public key's algorithm was not ECDH. | 249 // The public key's algorithm was not ECDH. |
250 static Status ErrorEcdhPublicKeyWrongAlgorithm(); | 250 static Status ErrorEcdhPublicKeyWrongAlgorithm(); |
251 | 251 |
252 // The public and private keys given to ECDH key derivation were not for the | 252 // The public and private keys given to ECDH key derivation were not for the |
253 // same named curve. | 253 // same named curve. |
254 static Status ErrorEcdhCurveMismatch(); | 254 static Status ErrorEcdhCurveMismatch(); |
255 | 255 |
256 // The requested bit length for ECDH key derivation was too large. | 256 // The requested bit length for ECDH key derivation was too large. |
257 static Status ErrorEcdhLengthTooBig(unsigned int max_length_bits); | 257 static Status ErrorEcdhLengthTooBig(unsigned int max_length_bits); |
258 | 258 |
| 259 // The requested length for HKDF was too large. |
| 260 static Status ErrorHkdfLengthTooLong(); |
| 261 |
| 262 // No length parameter was provided for HKDF's Derive Bits operation. |
| 263 static Status ErrorHkdfDeriveBitsLengthNotSpecified(); |
| 264 |
259 private: | 265 private: |
260 enum Type { TYPE_ERROR, TYPE_SUCCESS }; | 266 enum Type { TYPE_ERROR, TYPE_SUCCESS }; |
261 | 267 |
262 // Constructs an error with the specified error type and message. | 268 // Constructs an error with the specified error type and message. |
263 Status(blink::WebCryptoErrorType error_type, | 269 Status(blink::WebCryptoErrorType error_type, |
264 const std::string& error_details_utf8); | 270 const std::string& error_details_utf8); |
265 | 271 |
266 // Constructs a success or error without any details. | 272 // Constructs a success or error without any details. |
267 explicit Status(Type type); | 273 explicit Status(Type type); |
268 | 274 |
269 Type type_; | 275 Type type_; |
270 blink::WebCryptoErrorType error_type_; | 276 blink::WebCryptoErrorType error_type_; |
271 std::string error_details_; | 277 std::string error_details_; |
272 }; | 278 }; |
273 | 279 |
274 } // namespace webcrypto | 280 } // namespace webcrypto |
275 | 281 |
276 } // namespace content | 282 } // namespace content |
277 | 283 |
278 #endif // CONTENT_CHILD_WEBCRYPTO_STATUS_H_ | 284 #endif // CONTENT_CHILD_WEBCRYPTO_STATUS_H_ |
OLD | NEW |