| Index: components/webcrypto/algorithms/rsa.cc
|
| diff --git a/components/webcrypto/algorithms/rsa.cc b/components/webcrypto/algorithms/rsa.cc
|
| index 892a5a0ec134b35f23da0d0a606c67ef22cef40c..c918356fa5280c1ec22fa19fb4aa95590a9bd1a2 100644
|
| --- a/components/webcrypto/algorithms/rsa.cc
|
| +++ b/components/webcrypto/algorithms/rsa.cc
|
| @@ -104,26 +104,6 @@ Status ReadRsaKeyJwk(const CryptoData& key_data,
|
| return Status::Success();
|
| }
|
|
|
| -// Converts a (big-endian) WebCrypto BigInteger, with or without leading zeros,
|
| -// to unsigned int.
|
| -bool BigIntegerToUint(const uint8_t* data,
|
| - size_t data_size,
|
| - unsigned int* result) {
|
| - if (data_size == 0)
|
| - return false;
|
| -
|
| - *result = 0;
|
| - for (size_t i = 0; i < data_size; ++i) {
|
| - size_t reverse_i = data_size - i - 1;
|
| -
|
| - if (reverse_i >= sizeof(*result) && data[i])
|
| - return false; // Too large for a uint.
|
| -
|
| - *result |= data[i] << 8 * reverse_i;
|
| - }
|
| - return true;
|
| -}
|
| -
|
| // Creates a blink::WebCryptoAlgorithm having the modulus length and public
|
| // exponent of |key|.
|
| Status CreateRsaHashedKeyAlgorithm(
|
| @@ -298,8 +278,7 @@ Status RsaHashedAlgorithm::GenerateKey(
|
| }
|
|
|
| unsigned int public_exponent = 0;
|
| - if (!BigIntegerToUint(params->publicExponent().data(),
|
| - params->publicExponent().size(), &public_exponent)) {
|
| + if (!params->publicExponentToUint32(&public_exponent)) {
|
| return Status::ErrorGenerateKeyPublicExponent();
|
| }
|
|
|
|
|