aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use KDF2/PK_Key_Agreement in DH benchmarklloyd2010-03-041-5/+5
|
* Clean up PK_Key_Agreement slightlylloyd2010-03-042-21/+32
|
* Fix typoslloyd2010-03-041-2/+2
|
* Inline simple DSA funcslloyd2010-03-042-21/+6
|
* Remove ElGamal load hook functionslloyd2010-03-042-47/+23
|
* Remove NR load hookslloyd2010-03-042-58/+34
|
* Remove no-op DH_Public_Key::X509_load_hooklloyd2010-03-042-12/+1
|
* Remove DSA load hooks functionslloyd2010-03-042-32/+17
|
* Cleanupslloyd2010-03-041-5/+4
|
* Remove IF_Scheme_PrivateKey::PKCS8_load_hooklloyd2010-03-046-35/+30
|
* New IF constructors, simplifies RSA/RWlloyd2010-03-046-72/+67
|
* Remove DH_PrivateKey::PKCS8_load_hooklloyd2010-03-042-15/+23
|
* More keygen testslloyd2010-03-041-0/+8
|
* Remove unnecessary virtual destructors from ECC key base typeslloyd2010-03-041-4/+0
| | | | (already have them, via Public_Key's virtual destructor)
* Add back the Integrity_Failure exception. For one, removing it causeslloyd2010-03-041-0/+9
| | | | | problems for Monotone, and anyway it is a reasonable exception to have around for signalling MAC validation errors, etc.
* Test GOST with 521-bit prime field (was setting off bug before)lloyd2010-03-041-1/+1
|
* Fix GOST pubkey encoding when x.bytes() != y.bytes()lloyd2010-03-041-1/+1
|
* Fix exception textlloyd2010-03-041-1/+1
|
* Quite the hack, here.lloyd2010-03-043-1/+11
| | | | | | | | | | | | | | | | | GOST 34.10 public keys use a funky encoding. There is no standard for PKCS #8 format private keys, so the obvious choice is to act exactly the same as ECDSA/ECDH (following the rule of thumb that if you're going to make up a random non-standard thing, at least try to copy something that's standard for something else). However the public key encoding uses a weird scheme for encoding the OID in the algorithm identifier, which we don't want to use for the PKCS #8 encoding. Add a new function to Private_Key, pkcs8_algorithm_identifier, which by default just calls algorithm_identifier(). However GOST_3410_PrivateKey overrides it, and calls EC_PublicKey::algorithm_identifier(), basically skipping over the virtual function hierarchy, so it doesn't pick up the funky format from the public key's version of algorithm_identifier().
* Split up load/store tests public vs privatelloyd2010-03-041-11/+29
|
* For each keygen tests, save the file as pem then reload it.lloyd2010-03-041-27/+80
|
* Fix GOST 34.10 pubkey encodinglloyd2010-03-042-3/+13
|
* Fix loading ElGamal keyslloyd2010-03-041-6/+4
|
* Catch parse errors in OID, throw Invalid_OIDlloyd2010-03-041-1/+9
|
* Fix ElGamal pubkey encoding (OID was unknown)lloyd2010-03-041-1/+1
|
* Catch any exception for parsing name, assume it's a bad OIDlloyd2010-03-041-1/+1
|
* Changes to CVC to deal with the fact that you can't create an uninitializedlloyd2010-03-043-8/+10
| | | | ECDSA_PublicKey object anymore.
* Remove more load hookslloyd2010-03-047-17/+10
|
* Remove load hooks from ECC classes, unusedlloyd2010-03-043-21/+16
|
* Kill pkcs8_decoderlloyd2010-03-048-158/+0
|
* Add similar decoding constructors to the private keyslloyd2010-03-0418-85/+167
|
* Remove X509_Decoder. Fix GOST-34.10 DER constructor (was default to normal ECC)lloyd2010-03-0410-173/+24
|
* Add a new constructor to each public key algorithm (only the publiclloyd2010-03-0421-211/+195
| | | | | | | keys so far, private keys not changed) that takes an AlgorithmIdentifier and a MemoryRegion<byte>&. This performs the X.509 decoding. It is not possible anymore to create uninitialized PK objects.
* Remove odd DH use in ECDH testlloyd2010-03-041-4/+0
|
* Some botan exception throws are plain STL exceptionslloyd2010-03-041-7/+1
|
* The code in pk_codecs was actually entirely tied to the code inlloyd2010-03-0412-13/+7
| | | | | | pubkey; you literally could not compile any pubkey code without it. Move it up to the pubkey dir, it wasn't at all useful to have it in its own dir.
* Kill pkcs8_encoderlloyd2010-03-048-124/+4
|
* Add a pkcs8_private_key similiar to x509_subject_public_keylloyd2010-03-048-27/+49
|
* Add a new function to public key x509_subject_public_key which returnslloyd2010-03-0412-146/+36
| | | | | what x509_encoder()->key_bits() used to return. This is much simpler than using the explicit encoder objects. Remove X509_Encoder entirely.
* Add a new function to Public_Key, algorithm_identifier(), which justlloyd2010-03-048-23/+36
| | | | | returns the AlgorithmIdentifier representing this scheme (OID + domain params if any).
* Fix stupid typolloyd2010-03-031-1/+1
|
* Pass the args to SIMD_32 variant of rotate_left/rotate_right as constlloyd2010-03-031-6/+6
| | | | | reference. Otherwise Visual C++ dies because apparently the Win32 ABI doesn't know how to pass a __m128i as a function parameter. :/
* Only disable VC++ warning C4275 with DLL buildslloyd2010-03-031-2/+2
|
* Document fix for VC static buildslloyd2010-03-031-0/+1
|
* Unused variable warning in catch statementlloyd2010-03-031-1/+1
|
* Unused variable warning in catch statementlloyd2010-03-031-1/+1
|
* Fix VC++ static lib buildslloyd2010-03-031-0/+4
|
* Reduce deps slightly in selftest codelloyd2010-03-031-4/+17
|
* Fix Windows distclean targetlloyd2010-03-031-1/+3
|
* Disable VC warning 4275lloyd2010-03-031-1/+1
|