aboutsummaryrefslogtreecommitdiffstats
path: root/src/x509_ca.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Create an x509 module containing all of the X509 certificate and CAlloyd2008-09-281-288/+0
| | | | code as well as the code for handling PKCS #10 requests.
* Remove the Config class.lloyd2008-06-301-3/+2
| | | | | | | | In reality, Config was a singleton, with the only owner being the Library_State object. Theoretically one could create and use another Config instance, but in practice it was never done. Reflect the reality and inline the members and public functions of Config in Library_State, removing Config entirely.
* Remove global_config() - replace by direct calls to global_state()lloyd2008-06-301-4/+5
|
* X509_CA::{new_crl,update_crl} take a RandomNumberGenerator referencelloyd2008-06-111-7/+7
|
* Modify X509_CA::make_cert and X509_CA::sign_request to take a RNG referencelloyd2008-06-111-3/+3
| | | | argument in favor of referencing the global PRNG argument
* Change PK_Signer::signature to take a RandomNumberGenerator referencelloyd2008-06-101-3/+7
| | | | instead of always using the global PRNG.
* Remove random_integer() and replace it with a BigInt constructor taking alloyd2008-05-241-2/+1
| | | | RandomNumberGenerator reference. Update all callers.
* Previously random_integer and friends used the global PRNG object to getlloyd2008-05-241-1/+5
| | | | | | | | | | | | | random bits. Now they take a reference to a RandomNumberGenerator object. This was applied several times out, so now the constructors to private key objects also take a RandomNumberGenerator& argument. This is also true for a number of randomized algorithms (Miller-Rabin, for instance). You can get a reference to the global PRNG with global_state().prng_reference() This is a provisional thing: and warning: it is not thread safe! If this is a problem instead keep per-thread PRNGs and pass them were needed.
* Remove Config::option_as_time, instead call timespec_to_u32bit inlloyd2008-05-021-2/+5
| | | | each caller.
* Move Signature_Format enum to pubkey.hlloyd2008-04-291-3/+26
| | | | | | | | Including enums.h in needed places since asn1_int.h doesn't pull it in anymore. Remove Config::choose_sig_format, and move its logic into its only caller, the (global!) choose_sig_format in x509_ca.cpp
* Change the interface of X509_CA::sign_request as follows:lloyd2008-04-101-17/+4
| | | | | | | | | | | - The allow_ca policy value is no longer checked. Callers should check if the request is for a CA cert and treat it accordingly; this makes it simpler to to case-by-case decisions (expecially among multiple threads) - Instead of a single time value, a u32bit representing the number of seconds from now the certificate should expire, the start and end times are passed explicitly as two X509_Time values.
* Change the copyrights in all files in the Botan tree to directly reflectlloyd2008-04-101-1/+1
| | | | | | the actual copyright holders. For rationale, see my post to botan-devel on April 9, subject 'Changing license to directly reflect contributors' (http://www.randombit.net/pipermail/botan-devel/2008-April/000527.html)
* Mostly revert 2f4fd18182d5a75c40cd831e7ee3c314be5c57d6, only keep thelloyd2008-03-101-1/+1
| | | | | updated dates on files that have actually changed this year. This makes the diff across versions readable again.
* Mass update of the copyright date. Honestly I don't know why I bother,lloyd2008-02-141-1/+1
| | | | | | | but might as well keep it up to date. And it's easier to do it once with a 'perl -pi' command than to update each file over time. Apologies to anyone looking at diffs.
* Include the iterator header for std::back_inserter. Noticed whenlloyd2007-02-161-0/+1
| | | | compiling under the Dinkumware libraries.
* Bump copyright year to 2007lloyd2007-01-201-1/+1
|
* Rename instances of X509_PublicKey and PKCS8_PrivateKeylloyd2006-09-061-4/+4
|
* Implement codec objects for private keys as well.lloyd2006-09-061-1/+7
|
* Merge a formerly duplicate function (one in an anonymous namespace inlloyd2006-09-061-10/+19
| | | | x509self.cpp, the other a block of code in X509_CA's constructor).
* Move include of x509_ext.h to x509_ca.h, instead of using forwardlloyd2006-07-311-13/+8
| | | | | | | | declaration. Remove not_before and not_after variables, as they were only used once. Use the computed Key_Constraints value when signing a new certificate.
* Make choose_sig_format a static member of Config rather thanlloyd2006-07-011-1/+1
| | | | a standalone function.
* Access the global configuration through an object reference insteadlloyd2006-07-011-4/+4
| | | | | of stand-alone functions. Store the configuration in a distinct object, rather than just a map inside the library state.
* More config.h include fixeslloyd2006-07-011-1/+1
|
* Remove an implementation of make_signed from x509_ca.cpp, insteadlloyd2006-06-251-20/+4
| | | | using the version in X509_Object.
* Remove the older version of X509_CA::make_cert entirelylloyd2006-06-251-32/+10
|
* Add a new variant of X509_CA::make_cert that takes an Extensions object,lloyd2006-06-251-0/+18
| | | | | rather than creating it internally. The older version (still used internally) creates the Extensions object as before and passes it on.
* Add an X509_GlobalState pointer to the library state.lloyd2006-06-241-3/+0
| | | | Initial implementation of a factory for extension objects
* Use accessor functions for CRL_Entry, instead of having public datalloyd2006-06-231-3/+3
|
* Make Alternative_Name an abstract base, from which the subjectlloyd2006-06-231-8/+2
| | | | | | | | | | | | and issuer forms are derived. Add Extensions::contents_to, which iterates over the set and adds each extension's contents. Add a new explicit info field for is_ca Implement Authority_Key_Id::decode_inner (incomplete, only handles the keyid form).
* Syntax changes to the BER and DER APIs to improve readability of codelloyd2006-05-191-74/+73
| | | | | that uses them. These changes are not backwards compatible, this commit updates all uses of the APIs within the library.
* Initial checkin1.5.6lloyd2006-05-181-0/+287