aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pubkey/ecc_key
Commit message (Collapse)AuthorAgeFilesLines
* In ECC private key encoding, include the optional public key fieldJack Lloyd2018-07-231-2/+4
| | | | Otherwise GnuTLS refuses to parse the private key. Fixes #1634
* Use EC_Group::inverse_mod_order where appropriateJack Lloyd2018-04-201-5/+2
|
* Add EC_Group::random_scalarJack Lloyd2018-03-211-1/+1
|
* Rename point_format to point_encodingJack Lloyd2018-03-102-2/+2
| | | | Matches setter
* Add PointGFp::encode as replacement for EC2OSPJack Lloyd2018-03-101-2/+1
| | | | | | Literally every single call to EC2OSP is converting the returned secure_vector to a std::vector. Which makes sense since private points are not really a thing in any protocol I know of.
* Default to encoding ECC public keys as uncompressed. GH #1480Jack Lloyd2018-03-102-1/+26
|
* Add functions to EC_Group for getting base point coordinatesJack Lloyd2018-02-251-5/+23
|
* Add EC_Group::verify_public_elementJack Lloyd2018-02-231-28/+2
|
* Avoid CurveGFp in EC_Group interfaceJack Lloyd2018-01-311-1/+0
|
* Use shared representation of EC_GroupJack Lloyd2018-01-311-8/+11
| | | | Hide CurveGFp with an eye for eventual removal
* Merge GH #1365 Always set domain encoding correctly when loading an ECC keyJack Lloyd2017-12-191-0/+5
|\
| * Always set domain encoding correctly when loading an ECC keyRené Korthaus2017-12-191-1/+5
| | | | | | | | | | | | | | | | When loading an ECC key from file, the domain encoding was always set to explicit instead of depending on the encoded key file read. This resulted in different encodings and therefore different fingerprints of the same key when encoding the same key twice (once after generation, once after re-reading it).
* | Add accessors to ASN1_Attribute and AlgorithmIdentifierJack Lloyd2017-12-191-2/+2
|/
* More include header cleanupsJack Lloyd2017-09-212-2/+0
|
* Change header guard format to BOTAN_FOO_H_Jack Lloyd2017-09-201-2/+2
| | | | | | ISO C++ reserves names with double underscores in them Closes #512
* Add API stability annotations.Jack Lloyd2017-09-191-2/+2
| | | | | Defined in build.h, all equal to BOTAN_DLL so ties into existing system for exporting symbols.
* Remove inner/outer OID check in EC_PrivateKey ctorRené Korthaus2017-09-131-3/+0
| | | | | | | | RFC 5915 mandates that the OID of an ECDSA ECPrivateKey shall be id-ecPublicKey with the named curve as the parameters. ECPrivateKey may contain the named curve OID, too, which is compared to id-ecPublicKey. Such keys could not be loaded. We remove this check and add a test vector from strongswan.
* ECC: use OID encoding if possiblePatrick Wildt2017-06-301-6/+16
| | | | | | Instead of explicitly encoding the domain, encode them with the OID if the OID is available. This makes the ecdsa_sign test run with OpenSSL, since OpenSSL needs the OID explicitly set.
* Content:Tomasz Frydrych2017-04-031-3/+7
| | | | | | | | | * fixes for deprecated constructions in c++11 and later (explicit rule of 3/5 or implicit rule of 0 and other violations) * `default` specifier instead of `{}` in some places(probably all) * removal of unreachable code (for example `return` after `throw`) * removal of compilation unit only visible, but not used functions * fix for `throw()` specifier - used instead `BOTAN_NOEXCEPT` * removed not needed semicolons
* Remove "Dirty hack" for multiple defines in lex_me_harder()Simon Warta2017-04-021-1/+3
|
* verify ec domain in EC_PublicKey::check_keyNever2017-02-281-1/+6
|
* EC_PublicKey::check_key for curves with cofactor > 1Never2017-02-271-1/+24
|
* Add =default copy constructor decls for some pubkey types.Jack Lloyd2017-01-271-0/+4
| | | | | | | This inhibits default creation of C++11 move operators which we do not want. GH #849
* Fix private key ctors API docs [ci skip]René Korthaus2017-01-271-2/+3
|
* Convert to using standard uintN_t integer typesJack Lloyd2016-12-182-10/+10
| | | | | | 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.
* Public_Key derived class ctors take an std::vector<byte>René Korthaus2016-12-112-3/+3
| | | | | | | Changes all the Public_Key derived classes ctors to take a std::vector instead of a secure_vector for the DER encoded public key bits. There is no point in transporting a public key in secure storage. (GH #768)
* Add Private_Key::private_key_info()René Korthaus2016-12-052-2/+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().
* Add Public_Key::subject_public_key()René Korthaus2016-12-052-2/+2
| | | | | | | Adds new Public_Key::subject_public_key() that returns a X.509 SubjectPublicKey structure. Renames the current Public_Key::x509_subject_public_key() to public_key_bits(). BER_encode() just invokes subject_public_key().
* Pubkey cleanupsJack Lloyd2016-11-122-1/+7
| | | | | | | | | | Add Public_Key::key_length usable for policy checking (as in TLS::Policy::check_peer_key_acceptable) Remove Public_Key::max_input_bits because it didn't make much sense for most algorithms actually. Remove message_parts and message_part_size from PK_Ops
* Improve pubkey doxygen [ci skip]René Korthaus2016-10-191-0/+10
|
* Add ECGDSARené Korthaus2016-04-192-10/+39
|
* Remaining cppcheck fixes that are not covered by GH #444Daniel Neus2016-03-052-8/+4
|
* Mass-prefix member vars with m_René Korthaus2016-01-082-30/+30
|
* Remove alloc module; move secmem.h to base and locking_allocator to utilsJack Lloyd2015-08-291-1/+0
|
* Remove unused pkcs8 includesSimon Warta2015-08-031-1/+0
| | | | Only botan-cli, botan-tests and the FFI module depend on PKCS8
* pubkey: Add missing overridesDaniel Seither2015-07-301-4/+4
|
* Ensure all files have copyright and license info.lloyd2015-01-102-2/+2
| | | | | Update license header line to specify the terms and refer to the file, neither of which it included before.
* Move all PK workfactor esstimators to workfactors.*lloyd2014-11-291-1/+2
|
* Move lib into srclloyd2014-01-103-0/+279