aboutsummaryrefslogtreecommitdiffstats
path: root/src/cert/x509
Commit message (Collapse)AuthorAgeFilesLines
* 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-167-37/+37
|
* More Doxygen updates/fixeslloyd2010-06-154-34/+55
|
* Fix a few hundred Doxygen warningslloyd2010-06-153-2/+9
|
* Use X509::BER_encode. Saves 12 lines. Nicelloyd2010-06-151-18/+6
|
* 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-084-12/+8
| | | | | 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-084-42/+6
| | | | | PK_Decrypting_Key, PK_Signing_Key, PK_Verifying_with_MR_Key, and PK_Verifying_wo_MR_Key.
* The code in pk_codecs was actually entirely tied to the code inlloyd2010-03-041-1/+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).
* 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.
* 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
|
* Make many more headers internal-only.lloyd2009-12-163-3/+3
| | | | | | | | | | | | | 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-161-12/+15
|
* Consolidate the non-canonical epoch timers, like cpuid and Win32'slloyd2009-12-014-4/+4
| | | | | | | | | | | | | | 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).
* 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-291-2/+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-171-1/+0
|
* Split up util.h into 3 fileslloyd2009-09-174-5/+5
| | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
* 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-151-7/+13
| | | | | | 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-3023-677/+723
| | | | | | | | | | | | | | | 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).
* Add Doxygen comment for Timer::clock. Fix @return in benchmark.h and x509_ca.hlloyd2008-11-251-1/+1
|
* Make X509_Store::CRL_Info public for IBM XLC 0.9 for Celllloyd2008-11-241-10/+14
|
* Remove pk_lookup - half of it (look_pk.{cpp,h}) depended on libstate directly,lloyd2008-11-111-1/+0
| | | | | the other half was relied upon by pubkey. Move the contents into those two modules. Update deps.
* Remove lookup.h use from DLIES, PK key agreement, DSA param gen, get_enc.cpplloyd2008-11-112-4/+3
|
* Split the last parts of the 'core' modulelloyd2008-11-083-3/+3
| | | | Add some missing info.txts
* Wrap lines to 80 columnslloyd2008-10-281-2/+2
|
* Add some Doxygen comments from InSiTo written for config.h (now gone/split up)lloyd2008-10-131-5/+9
|
* Add Doxygen comments from InSiTo to x509self.hlloyd2008-10-131-27/+148
|
* Doxygen comments for X509_Certificate, from InSiTolloyd2008-10-131-12/+123
|
* Another batch of InSiTo Doxygen commentslloyd2008-10-131-7/+41
|
* More Doxygen comments from InSiTolloyd2008-10-131-5/+58
|
* More Doxygen comments from InSiTolloyd2008-10-133-17/+97
|
* Default to using SHA-1 with ECDSA in X.509 signatureslloyd2008-10-111-0/+5
|
* Move oids.h to oid_lookup. Allows for much smaller build by disabling asn1lloyd2008-10-011-7/+8
|
* Move look_pk and pk_algs to new module pubkey/pk_lookuplloyd2008-10-011-0/+1
|
* x509 module requires pubkey base module to compilelloyd2008-10-011-0/+1
|
* Put only the implementation of BigInt in src/bigint, mathematical functionslloyd2008-09-291-1/+1
| | | | | | | on top of BigInt go to src/math. Some prototypes were moved in order to complete the split, in particular random_integer() is now a static member of BigInt instead of being a global function, and divide() is in divide.h instead of numthry.h
* Move x509 into cert/ subdir (in prep for InSiTo adding cert/cvc)lloyd2008-09-2924-0/+4023