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 "content/child/webcrypto/platform_crypto.h" | 5 #include "content/child/webcrypto/platform_crypto.h" |
6 | 6 |
7 #include <cryptohi.h> | 7 #include <cryptohi.h> |
8 #include <pk11pub.h> | 8 #include <pk11pub.h> |
9 #include <sechash.h> | 9 #include <sechash.h> |
10 | 10 |
(...skipping 677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
688 return Status::Error(); | 688 return Status::Error(); |
689 | 689 |
690 DCHECK(spki_der->data); | 690 DCHECK(spki_der->data); |
691 DCHECK(spki_der->len); | 691 DCHECK(spki_der->len); |
692 | 692 |
693 *buffer = CreateArrayBuffer(spki_der->data, spki_der->len); | 693 *buffer = CreateArrayBuffer(spki_der->data, spki_der->len); |
694 | 694 |
695 return Status::Success(); | 695 return Status::Success(); |
696 } | 696 } |
697 | 697 |
698 Status ExportRsaPublicKey(PublicKey* key, | |
699 blink::WebArrayBuffer* modulus, | |
700 blink::WebArrayBuffer* public_exponent) { | |
701 DCHECK(key); | |
702 DCHECK(key->key()); | |
703 | |
704 if (key->key()->keyType != rsaKey) | |
705 return Status::ErrorUnsupported(); | |
706 | |
707 SECItem modulus_item = key->key()->u.rsa.modulus; | |
708 DCHECK(modulus_item.data); | |
eroman
2014/03/21 02:30:51
Do these need to be proper returns?
padolph
2014/03/24 04:24:06
Yes.
| |
709 DCHECK(modulus_item.len); | |
710 | |
711 SECItem public_exponent_item = key->key()->u.rsa.publicExponent; | |
712 DCHECK(public_exponent_item.data); | |
713 DCHECK(public_exponent_item.len); | |
714 | |
715 *modulus = CreateArrayBuffer(modulus_item.data, modulus_item.len); | |
716 *public_exponent = | |
717 CreateArrayBuffer(public_exponent_item.data, public_exponent_item.len); | |
718 | |
719 return Status::Success(); | |
720 } | |
721 | |
698 Status ImportKeyPkcs8(const blink::WebCryptoAlgorithm& algorithm, | 722 Status ImportKeyPkcs8(const blink::WebCryptoAlgorithm& algorithm, |
699 const CryptoData& key_data, | 723 const CryptoData& key_data, |
700 bool extractable, | 724 bool extractable, |
701 blink::WebCryptoKeyUsageMask usage_mask, | 725 blink::WebCryptoKeyUsageMask usage_mask, |
702 blink::WebCryptoKey* key) { | 726 blink::WebCryptoKey* key) { |
703 | 727 |
704 DCHECK(key); | 728 DCHECK(key); |
705 | 729 |
706 if (!key_data.byte_length()) | 730 if (!key_data.byte_length()) |
707 return Status::ErrorImportEmptyKeyData(); | 731 return Status::ErrorImportEmptyKeyData(); |
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1323 key_algorithm, | 1347 key_algorithm, |
1324 usage_mask); | 1348 usage_mask); |
1325 return Status::Success(); | 1349 return Status::Success(); |
1326 } | 1350 } |
1327 | 1351 |
1328 } // namespace platform | 1352 } // namespace platform |
1329 | 1353 |
1330 } // namespace webcrypto | 1354 } // namespace webcrypto |
1331 | 1355 |
1332 } // namespace content | 1356 } // namespace content |
OLD | NEW |