Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: content/child/webcrypto/platform_crypto_openssl.cc

Issue 287133004: [webcrypto] Add JWK import/export of RSA private keys (NSS). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix comment typeo Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/child/webcrypto/platform_crypto_nss.cc ('k') | content/child/webcrypto/shared_crypto.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <vector> 7 #include <vector>
8 #include <openssl/aes.h> 8 #include <openssl/aes.h>
9 #include <openssl/evp.h> 9 #include <openssl/evp.h>
10 #include <openssl/hmac.h> 10 #include <openssl/hmac.h>
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 bool extractable, 374 bool extractable,
375 blink::WebCryptoKeyUsageMask usage_mask, 375 blink::WebCryptoKeyUsageMask usage_mask,
376 const CryptoData& modulus_data, 376 const CryptoData& modulus_data,
377 const CryptoData& exponent_data, 377 const CryptoData& exponent_data,
378 blink::WebCryptoKey* key) { 378 blink::WebCryptoKey* key) {
379 // TODO(padolph): Placeholder for OpenSSL implementation. 379 // TODO(padolph): Placeholder for OpenSSL implementation.
380 // Issue 380 // Issue
381 return Status::ErrorUnsupported(); 381 return Status::ErrorUnsupported();
382 } 382 }
383 383
384 Status ImportRsaPrivateKey(const blink::WebCryptoAlgorithm& algorithm,
385 bool extractable,
386 blink::WebCryptoKeyUsageMask usage_mask,
387 const CryptoData& modulus,
388 const CryptoData& public_exponent,
389 const CryptoData& private_exponent,
390 const CryptoData& prime1,
391 const CryptoData& prime2,
392 const CryptoData& exponent1,
393 const CryptoData& exponent2,
394 const CryptoData& coefficient,
395 blink::WebCryptoKey* key) {
396 // TODO(eroman): http://crbug.com/267888
397 return Status::ErrorUnsupported();
398 }
399
384 Status EncryptDecryptAesGcm(EncryptOrDecrypt mode, 400 Status EncryptDecryptAesGcm(EncryptOrDecrypt mode,
385 SymKey* key, 401 SymKey* key,
386 const CryptoData& data, 402 const CryptoData& data,
387 const CryptoData& iv, 403 const CryptoData& iv,
388 const CryptoData& additional_data, 404 const CryptoData& additional_data,
389 unsigned int tag_length_bits, 405 unsigned int tag_length_bits,
390 std::vector<uint8>* buffer) { 406 std::vector<uint8>* buffer) {
391 // TODO(eroman): http://crbug.com/267888 407 // TODO(eroman): http://crbug.com/267888
392 return Status::ErrorUnsupported(); 408 return Status::ErrorUnsupported();
393 } 409 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 return Status::ErrorUnsupported(); 471 return Status::ErrorUnsupported();
456 } 472 }
457 473
458 Status ExportRsaPublicKey(PublicKey* key, 474 Status ExportRsaPublicKey(PublicKey* key,
459 std::vector<uint8>* modulus, 475 std::vector<uint8>* modulus,
460 std::vector<uint8>* public_exponent) { 476 std::vector<uint8>* public_exponent) {
461 // TODO(eroman): http://crbug.com/267888 477 // TODO(eroman): http://crbug.com/267888
462 return Status::ErrorUnsupported(); 478 return Status::ErrorUnsupported();
463 } 479 }
464 480
481 Status ExportRsaPrivateKey(PrivateKey* key,
482 std::vector<uint8>* modulus,
483 std::vector<uint8>* public_exponent,
484 std::vector<uint8>* private_exponent,
485 std::vector<uint8>* prime1,
486 std::vector<uint8>* prime2,
487 std::vector<uint8>* exponent1,
488 std::vector<uint8>* exponent2,
489 std::vector<uint8>* coefficient) {
490 // TODO(eroman): http://crbug.com/267888
491 return Status::ErrorUnsupported();
492 }
493
465 Status WrapSymKeyAesKw(SymKey* key, 494 Status WrapSymKeyAesKw(SymKey* key,
466 SymKey* wrapping_key, 495 SymKey* wrapping_key,
467 std::vector<uint8>* buffer) { 496 std::vector<uint8>* buffer) {
468 // TODO(eroman): http://crbug.com/267888 497 // TODO(eroman): http://crbug.com/267888
469 return Status::ErrorUnsupported(); 498 return Status::ErrorUnsupported();
470 } 499 }
471 500
472 Status UnwrapSymKeyAesKw(const CryptoData& wrapped_key_data, 501 Status UnwrapSymKeyAesKw(const CryptoData& wrapped_key_data,
473 SymKey* wrapping_key, 502 SymKey* wrapping_key,
474 const blink::WebCryptoAlgorithm& algorithm, 503 const blink::WebCryptoAlgorithm& algorithm,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 blink::WebCryptoKey* key) { 541 blink::WebCryptoKey* key) {
513 // TODO(eroman): http://crbug.com/267888 542 // TODO(eroman): http://crbug.com/267888
514 return false; 543 return false;
515 } 544 }
516 545
517 } // namespace platform 546 } // namespace platform
518 547
519 } // namespace webcrypto 548 } // namespace webcrypto
520 549
521 } // namespace content 550 } // namespace content
OLDNEW
« no previous file with comments | « content/child/webcrypto/platform_crypto_nss.cc ('k') | content/child/webcrypto/shared_crypto.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698