Remove the password parameter for ECPrivateKey::ExportEncryptedPrivateKey.

Even with a password, the encryption scheme used here is really not what
we'd want people to use. This does two things:

1. Cut down on the number of ways to use ExportEncryptedPrivateKey and
   makes it less likely someone will mistakenly use it for security
   purposes.

2. When we ported to BoringSSL, we added "raw" versions of
   PKCS8_{encrypt,decrypt} to account for confusion about two ways to
   encode the empty password. But PKCS8_{encrypt,decrypt} already
   handled this by treating NULL and "" differently. Limiting to just
   the empty password lets us trim BoringSSL's API surface in
   preparation for decoupling it from crypto/asn1.

BUG=603319

Review-Url: https://codereview.chromium.org/2608453002
Cr-Original-Commit-Position: refs/heads/master@{#441365}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1c02c94c34e1c57154914d51c44e818aa290f7a0
4 files changed
tree: 81ce6b0ea40aa1c201d2a27f8193219a78f4858e
  1. aead.cc
  2. aead.h
  3. aead_unittest.cc
  4. apple_keychain.h
  5. apple_keychain_ios.mm
  6. apple_keychain_mac.mm
  7. BUILD.gn
  8. capi_util.cc
  9. capi_util.h
  10. crypto_export.h
  11. cssm_init.cc
  12. cssm_init.h
  13. curve25519.cc
  14. curve25519.h
  15. curve25519_unittest.cc
  16. DEPS
  17. ec_private_key.cc
  18. ec_private_key.h
  19. ec_private_key_unittest.cc
  20. ec_signature_creator.cc
  21. ec_signature_creator.h
  22. ec_signature_creator_impl.cc
  23. ec_signature_creator_impl.h
  24. ec_signature_creator_unittest.cc
  25. encryptor.cc
  26. encryptor.h
  27. encryptor_unittest.cc
  28. hkdf.cc
  29. hkdf.h
  30. hkdf_unittest.cc
  31. hmac.cc
  32. hmac.h
  33. hmac_unittest.cc
  34. mac_security_services_lock.cc
  35. mac_security_services_lock.h
  36. mock_apple_keychain.cc
  37. mock_apple_keychain.h
  38. mock_apple_keychain_ios.cc
  39. mock_apple_keychain_mac.cc
  40. nss_crypto_module_delegate.h
  41. nss_key_util.cc
  42. nss_key_util.h
  43. nss_key_util_unittest.cc
  44. nss_util.cc
  45. nss_util.h
  46. nss_util_internal.h
  47. nss_util_unittest.cc
  48. openssl_util.cc
  49. openssl_util.h
  50. OWNERS
  51. p224.cc
  52. p224.h
  53. p224_spake.cc
  54. p224_spake.h
  55. p224_spake_unittest.cc
  56. p224_unittest.cc
  57. random.cc
  58. random.h
  59. random_unittest.cc
  60. rsa_private_key.cc
  61. rsa_private_key.h
  62. rsa_private_key_unittest.cc
  63. scoped_capi_types.h
  64. scoped_nss_types.h
  65. scoped_test_nss_chromeos_user.cc
  66. scoped_test_nss_chromeos_user.h
  67. scoped_test_nss_db.cc
  68. scoped_test_nss_db.h
  69. scoped_test_system_nss_key_slot.cc
  70. scoped_test_system_nss_key_slot.h
  71. secure_hash.cc
  72. secure_hash.h
  73. secure_hash_unittest.cc
  74. secure_util.cc
  75. secure_util.h
  76. sha2.cc
  77. sha2.h
  78. sha2_unittest.cc
  79. signature_creator.cc
  80. signature_creator.h
  81. signature_creator_unittest.cc
  82. signature_verifier.cc
  83. signature_verifier.h
  84. signature_verifier_unittest.cc
  85. symmetric_key.cc
  86. symmetric_key.h
  87. symmetric_key_unittest.cc
  88. wincrypt_shim.h