aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pubkey/pkcs8.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add ability to specify iterations when encrypting a private keyJack Lloyd2017-02-261-2/+84
| | | | GH #896
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-181-9/+9
| | | | | | Renames a couple of functions for somewhat better name consistency, eg make_u32bit becomes make_uint32. The old typedefs remain for now since probably lots of application code uses them.
* Add Private_Key::private_key_info()René Korthaus2016-12-051-9/+2
| | | | | | | Adds new Private_Key::private_key_info() that returns a PKCS#8 PrivateKeyInfo structure. Renames the current Private_Key::pkcs8_private_key() to private_key_bits(). BER_encode() just invokes private_key_info().
* Remove automatic self-testing of public and private keysJack Lloyd2016-11-031-2/+2
| | | | | | | | | | | | | Rarely expected and often causes performance problems, especially for private keys. Instead applications should call check_key explicitly to validate keys when necessary. Note this removal doesn't apply to tests like ECDH on-the-curve tests, where a check on the public key is required for security of our own key. Updates most APIs to remove RNG calls, where they are no longer required. Exception is PKCS8 interface, pending further work there (see GH #685) it just ignores the RNG argument now.
* Add create_private_key, expose key loading functions in pk_algs.hJack Lloyd2016-10-201-2/+2
|
* Add IncludeOS target. Make filesystem support optional.Jack Lloyd2016-10-101-0/+3
|
* String comparision fixesDaniel Neus2016-01-041-3/+3
| | | | fix PVS-Studio perfomance warnings
* Fix loading of unencrypted, BER encoded private keys via PKCS8 apiRené Korthaus2015-12-251-13/+69
|
* Reroot the exception hierarchy into a toplevel Exception classJack Lloyd2015-12-111-2/+2
| | | | | | | | As the alternatives are unfortunate for applications trying to catch all library errors, and it seems deriving from std::runtime_error causes problems with MSVC DLLs (GH #340) Effectively reverts 2837e915d82e43
* Remove algo factory, engines, global RNG, global state, etc.lloyd2015-02-041-71/+24
| | | | | | | | | | | | | | | Convert all uses of Algorithm_Factory and the engines to using Algo_Registry The shared pool of entropy sources remains but is moved to EntropySource. With that and few remaining initializations (default OIDs and aliases) moved elsewhere, the global state is empty and init and shutdown are no-ops. Remove almost all of the headers and code for handling the global state, except LibraryInitializer which remains as a compatability stub. Update seeding for blinding so only one hacky almost-global RNG instance needs to be setup instead of across all pubkey uses (it uses either the system RNG or an AutoSeeded_RNG if the system RNG is not available).
* Use registry for streams and MACs. Start updating callers.lloyd2015-01-311-4/+2
|
* Ensure all files have copyright and license info.lloyd2015-01-101-1/+1
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* When encrypting McEliece or Curve25519 keys, default to GCM instead of CBC.lloyd2014-12-271-8/+12
| | | | Add OIDS for OCB mode with various ciphers.
* Cleanup for pbe name parsing in PKCS #8 encoderlloyd2014-12-081-14/+23
|
* Cleanup PBES2 and add GCM supportlloyd2014-11-191-15/+21
|
* Guess I won't be needing theselloyd2014-01-181-1/+0
|
* Move lib into srclloyd2014-01-101-0/+284