| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/crypto/rsa_private_key.h" | 5 #include "crypto/rsa_private_key.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 #include <list> | 8 #include <list> | 
| 9 | 9 | 
| 10 #include "base/logging.h" | 10 #include "base/logging.h" | 
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" | 
| 12 #include "base/string_util.h" | 12 #include "base/string_util.h" | 
| 13 | 13 | 
| 14 // This file manually encodes and decodes RSA private keys using PrivateKeyInfo | 14 // This file manually encodes and decodes RSA private keys using PrivateKeyInfo | 
| 15 // from PKCS #8 and RSAPrivateKey from PKCS #1. These structures are: | 15 // from PKCS #8 and RSAPrivateKey from PKCS #1. These structures are: | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 35 | 35 | 
| 36 namespace { | 36 namespace { | 
| 37 // Helper for error handling during key import. | 37 // Helper for error handling during key import. | 
| 38 #define READ_ASSERT(truth) \ | 38 #define READ_ASSERT(truth) \ | 
| 39   if (!(truth)) { \ | 39   if (!(truth)) { \ | 
| 40     NOTREACHED(); \ | 40     NOTREACHED(); \ | 
| 41     return false; \ | 41     return false; \ | 
| 42   } | 42   } | 
| 43 }  // namespace | 43 }  // namespace | 
| 44 | 44 | 
| 45 namespace base { | 45 namespace crypto { | 
| 46 | 46 | 
| 47 const uint8 PrivateKeyInfoCodec::kRsaAlgorithmIdentifier[] = { | 47 const uint8 PrivateKeyInfoCodec::kRsaAlgorithmIdentifier[] = { | 
| 48   0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, | 48   0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, | 
| 49   0x05, 0x00 | 49   0x05, 0x00 | 
| 50 }; | 50 }; | 
| 51 | 51 | 
| 52 PrivateKeyInfoCodec::PrivateKeyInfoCodec(bool big_endian) | 52 PrivateKeyInfoCodec::PrivateKeyInfoCodec(bool big_endian) | 
| 53     : big_endian_(big_endian) {} | 53     : big_endian_(big_endian) {} | 
| 54 | 54 | 
| 55 PrivateKeyInfoCodec::~PrivateKeyInfoCodec() {} | 55 PrivateKeyInfoCodec::~PrivateKeyInfoCodec() {} | 
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 380 | 380 | 
| 381   // The version should be zero. | 381   // The version should be zero. | 
| 382   for (uint32 i = 0; i < length; ++i) { | 382   for (uint32 i = 0; i < length; ++i) { | 
| 383     READ_ASSERT(**pos == 0x00); | 383     READ_ASSERT(**pos == 0x00); | 
| 384     (*pos)++; | 384     (*pos)++; | 
| 385   } | 385   } | 
| 386 | 386 | 
| 387   return true; | 387   return true; | 
| 388 } | 388 } | 
| 389 | 389 | 
| 390 }  // namespace base | 390 }  // namespace crypto | 
| OLD | NEW | 
|---|