aboutsummaryrefslogtreecommitdiffstats
path: root/src/cert
Commit message (Collapse)AuthorAgeFilesLines
* Make round_up and round_down templates instead of fixed to use u32bitslloyd2010-06-291-1/+1
|
* Define X509_Object::encode in terms of BER_encode and PEM_encodelloyd2010-06-211-22/+12
|
* Doxygenlloyd2010-06-211-2/+34
|
* Replace "@return a blah" and "@return the blah" with just "@return blah"lloyd2010-06-169-48/+48
|
* More Doxygen updates/fixeslloyd2010-06-156-35/+59
|
* Fix a few hundred Doxygen warningslloyd2010-06-158-8/+23
|
* Use X509::BER_encode. Saves 12 lines. Nicelloyd2010-06-151-18/+6
|
* Remove some C-style castslloyd2010-04-231-2/+2
|
* Initialize m_pk to null in constructorlloyd2010-03-171-0/+2
|
* Remove config options to toggle if X.509 extensions are critical orlloyd2010-03-104-48/+47
| | | | | | | | not. Instead provide via Extensions::add(). No way to modify behavior currently, it just follows the previous default police. Remove the config options from Library_State entirely. Die, mutable singletons, die.
* Make cert decoding errors more verboselloyd2010-03-101-2/+2
|
* Modify pubkey classes to take names instead of object pointers.lloyd2010-03-086-29/+23
| | | | | Remove use of look_pk from the source and examples, instead instantiate classes directly.
* Remove the now no-op classes PK_Encrypting_Key,lloyd2010-03-085-47/+7
| | | | | PK_Decrypting_Key, PK_Signing_Key, PK_Verifying_with_MR_Key, and PK_Verifying_wo_MR_Key.
* Changes to CVC to deal with the fact that you can't create an uninitializedlloyd2010-03-043-8/+10
| | | | ECDSA_PublicKey object anymore.
* The code in pk_codecs was actually entirely tied to the code inlloyd2010-03-042-2/+0
| | | | | | 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.
* Add a new function to Public_Key, algorithm_identifier(), which justlloyd2010-03-041-7/+1
| | | | | returns the AlgorithmIdentifier representing this scheme (OID + domain params if any).
* Remove BOTAN_DLL from templates, VC++ doesn't like itlloyd2010-03-032-2/+2
|
* Reorganize where some CVC code goes to avoid template bloat + VC problemslloyd2010-03-037-95/+66
|
* CVC assumed sigs were DER encoded by default. Not truelloyd2010-03-024-25/+7
|
* Remove ECDSA_Signature encoding/decoding cruftlloyd2010-03-023-83/+39
|
* Cleanups, remove dead codelloyd2010-03-028-96/+27
|
* Port in the code for forming the EAC encoding of an ECDSA key, so nowlloyd2010-03-021-19/+47
| | | | generating new CVC certs might actually work.
* Lots of internal CVC cleanupslloyd2010-03-0213-192/+121
|
* Remove some needless usages of auto_ptr in CVClloyd2010-03-027-22/+33
|
* Remove a fairly useless member of EC_PublicKey that was only used forlloyd2010-03-021-1/+1
| | | | | | | handling ImplicitCA ECDSA keys in the CVC code. Currently dealt with in CVC by simply commenting out the calls - CVC is already pretty broken and I'd much rather have ECC sane and under control and CVC totally broken than ECC remaining in its current state.
* Clean up EC_Domain_Paramslloyd2010-03-011-3/+3
|
* Small cleanups in CVC. Reduce use of assert. Remove UTF-8 charslloyd2010-02-245-28/+25
|
* Remove TR1 dependency in CVC codelloyd2010-02-2412-111/+25
|
* Remove global variablelloyd2010-01-222-4/+2
|
* Clean up exceptions. Remove some unused ones like Config_Error. Makelloyd2010-01-051-1/+1
| | | | | | | Invalid_Argument just a typedef for std::invalid_argument. Make Botan::Exception a typedef for std::runtime_error. Make Memory_Exhaustion a public exception, and use it in other places where memory allocations can fail.
* Add copyright and license notes to pretty much every file that didn't have them,lloyd2009-12-312-4/+4
| | | | | | | | including the examples and self-test code. Most of these files had not copyright/license information at all; since a major point of the examples is to allow users to copy and paste code that already does something they want, an ambigious license is not good.
* Replace time_t_to_tm with calendar_value which returns a struct representinglloyd2009-12-241-6/+5
| | | | the calendar time without tying to a particular format. From the C++0x branch.
* Time was saved to a u32bit. Would really bite me in 2106 :)lloyd2009-12-231-1/+1
|
* Avoid MSVC warning 4800 about implicit conversion from T to bool. Mostlylloyd2009-12-231-1/+1
| | | | because it makes the code slightly more explicit.
* Add FIXME note to Certificate_Policies::encode_innerlloyd2009-12-231-1/+4
|
* Add missing BOTAN_DLL exports.lloyd2009-12-162-1/+1
| | | | Move most of the engine headers to internal
* Make many more headers internal-only.lloyd2009-12-166-49/+50
| | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-163-25/+32
|
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-016-6/+6
| | | | | | | | | | | | | | QueryPerformanceCounter, into an entropy source hres_timer. Its results, if any, do not count as contributing entropy to the poll. Convert the other (monotonic/fixed epoch) timers to a single function get_nanoseconds_clock(), living in time.h, which statically chooses the 'best' timer type (clock_gettime, gettimeofday, std::clock, in that order depending on what is available). Add feature test macros for clock_gettime and gettimeofday. Remove the Timer class and timer.h. Remove the Timer& argument to the algorithm benchmark function.
* Much cleaning up in ECDSA, though it's still rather a mess (and 50x slowerlloyd2009-11-181-15/+3
| | | | than OpenSSL... that's a problem for another branch though).
* Cleanups - remove emails from source files, they should only live inlloyd2009-11-105-9/+4
| | | | credits.txt and thanks.txt. Remove some various bits of formatting weirdness.
* In creating X.509 certificates and PKCS #10 requests, let (actually: require)lloyd2009-11-094-31/+75
| | | | | | | the user to specify the hash function to use, instead of always using SHA-1. This was a sensible default a few years ago, when there wasn't a ~2^60 attack on SHA-1 and support for SHA-2 was pretty much nil, but using something else makes a lot more sense these days.
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-292-4/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* The get_tm function was duplicated. Move single version to timer.{h,cpp}lloyd2009-09-172-44/+16
|
* Split up util.h into 3 fileslloyd2009-09-176-7/+6
| | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
* Replace 'XXX' and other such notes with FIXME for easy greppinglloyd2009-07-223-6/+6
|
* Move some files around to break up dependencies between directorieslloyd2009-07-161-0/+1
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-152-12/+26
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Move the contents of pubkey/pubkey (which was kind of a catch-all tolloyd2009-07-151-1/+1
| | | | | | | just toplevel pubkey). This was a convention I realized made sense sometime on when I was first doing the modularization changes. Move pkcs8.* and x509_key.* to pk_codecs
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-3042-849/+933
| | | | | | | | | | | | | | | up during the Fedora submission review, that each source file include some text about the license. One handy Perl script later and each file now has the line Distributed under the terms of the Botan license after the copyright notices. While I was in there modifying every file anyway, I also stripped out the remainder of the block comments (lots of astericks before and after the text); this is stylistic thing I picked up when I was first learning C++ but in retrospect it is not a good style as the structure makes it harder to modify comments (with the result that comments become fewer, shorter and are less likely to be updated, which are not good things).