aboutsummaryrefslogtreecommitdiffstats
path: root/src/asn1
Commit message (Collapse)AuthorAgeFilesLines
* Fix for bug 209. Required some reworking of the ASN.1 bytestringlloyd2012-07-094-43/+32
| | | | decoding code but seems an improvement.
* Add support (decoding only) for the CRL Distribution Point extension.lloyd2012-06-131-0/+38
|
* Allow arbitrary ciphers and hashes with PKCS #5 v2.0. The onlylloyd2012-05-314-4/+9
| | | | | | | | | | | | | | | | | | requirement is that OIDS for "<cipher>/CBC" and "HMAC(<hash>)" are defined. This does assume the normal parameter set of just the IV, so doesn't work right for (IIRC) RC5, but we don't have an OID set for RC5/CBC anyway. Continue to default to SHA-1 plus AES-256 as prior versions of the library can't handle any hashes other than SHA-1 or any ciphers other than AES or DES. OpenSSL 1.0.0j seems to understand SHA-256 + AES-256, though. BER_Decoder::decode_optional was assuming optional values were explicitly tagged. Now, only take that behavior if the input class tag was for a context specific tagging. Remove abort call for debugging from BER_Decoder Add a new version of DER_Encoder::encode_if for single objects.
* Add an X509_Certificate::allowed_usage for extended constraints.lloyd2012-05-272-0/+10
| | | | | | Check that whatever certificate we got is allowed to sign OCSP responses. Add another helper function BER_Decoder to try to handle the ASN.1 mess.
* Derive X509_Object from ASN1_Object.lloyd2012-05-271-6/+6
| | | | | | | | In the path validator, pass singlular Certificate_Store args as const reference and const_cast them. It's not ideal but it seems to lead to the cleanest external API. Treat all v1 X.509 certs as implicit CAs.
* Have BER_Deocder::decode_list actually start the SEQUENCE. All callerslloyd2012-05-272-4/+20
| | | | | | | | | | | | did it and it would be silly for it not to. Update the two existing callers, who were both doing start_cons().decode_list().end_cons() to just call decode_list(). Add BER_Decoder::get_next so we can get arbitrarily weird types without having to break message chains. Add dummy tag arguments to the ASN1_Object decoder so it can be used from decode_optional.
* Remove the PRIVATE ASN.1 tag. Not being used outside of the prettylloyd2012-05-272-4/+3
| | | | | | | | | | | | | | printer example, and really is just CONSTRUCTED | CONTEXT_SPECIFIC. Extend the ASN.1 printer to recurse into OCTET STRINGS that contain DER, and to print enumeration values. BOTAN_DLL export some OID operators (+, !=, <) Add an OID entry for 1.3.6.1.5.5.7.48.1.1 OCSP basic response. Correct the Certificate_Policies code, it was dumping policy OIDs into the extended key usage!
* propagate from branch 'net.randombit.botan.x509-path-validation' (head ↵lloyd2012-05-2516-178/+339
|\ | | | | | | | | | | 63b5a20eab129ca13287fda33d2d02eec329708f) to branch 'net.randombit.botan' (head 8b8150f09c55184f028f2929c4e7f7cd0d46d96e)
| * Replace 0 and NULL pointer constants with nullptr. Also fix an oldlloyd2012-05-182-6/+6
| | | | | | | | style cast in secmem.h
| * Fairly huge update that replaces the old secmem types with std::vectorlloyd2012-05-1813-67/+188
| | | | | | | | | | | | using a custom allocator. Currently our allocator just does new/delete with a memset before deletion, and the mmap and mlock allocators have been removed.
| * propagate from branch 'net.randombit.botan.tls-state-machine' (head ↵lloyd2012-03-301-1/+2
| |\ | | | | | | | | | | | | | | | 63b88a65b699c95ef839bc18336bceccfbfabd2e) to branch 'net.randombit.botan.cxx11' (head 1adcc46808b403b8f6bf1669f022e65f9c30e8ea)
| | * Off by one in decode_constrained_integer, broke Session DER decodinglloyd2012-03-221-1/+2
| | |
| * | Remove get_nanoseconds_clock as we'll rely on std::chrono's highlloyd2012-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | resolution clock for this in C++11. Now that the only remaining function in time.h is calendar_point, rename the header to calendar.h. Hopefully that last use will go away once a TR2 datetime library becomes available. Use std::chrono inside the library benchmark code.
| * | Merge fixups. Add locking to default session manager. Use chrono liblloyd2012-02-201-4/+4
| | | | | | | | | | | | and unique_ptr.
| * | propagate from branch 'net.randombit.botan.tls-state-machine' (head ↵lloyd2012-02-209-91/+75
| |\ \ | | |/ | |/| | | | | | | | | | 0ceb9cde62a2b3614901ae85a53546d9fc641326) to branch 'net.randombit.botan.cxx11' (head 777e65950ef3706a82e5df20dcca7fcc999ca533)
| | * propagate from branch 'net.randombit.botan' (head ↵lloyd2011-10-069-91/+75
| | |\ | | | | | | | | | | | | | | | | | | | | 29dfb73a5efec220ebafcb9c1d7a32bb9d63461c) to branch 'net.randombit.botan.cxx11' (head a842d86b2b9593318fbce5868c3d1278f8b3a037)
| | | * propagate from branch 'net.randombit.botan' (head ↵lloyd2011-06-139-91/+75
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | 150bd11dd8090559ee1e83394b8283bf93a018de) to branch 'net.randombit.botan.c++0x' (head 7480693bb3f1e8a4e039a3e7ba3d9a7007f9730e)
| | | | * propagate from branch 'net.randombit.botan' (head ↵lloyd2011-02-119-91/+75
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13a0d36dac3709f3cb88e830ed7f8cab9e7433ab) to branch 'net.randombit.botan.c++0x' (head 2221ad8796466e7e096645de77ba856a9c902d14)
| | | | | * propagate from branch 'net.randombit.botan' (head ↵lloyd2010-11-292-35/+26
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fc8daa606ab7954eab48778d7236986747b719e4) to branch 'net.randombit.botan.c++0x' (head 2bf71b0a2e0e468d7eb3631e4ca284234f554729)
| | | | | * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-11-049-91/+75
| | | | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 303b2518a80553214b1e5ab4d9b96ef54629cbc7) to branch 'net.randombit.botan.c++0x' (head d734eefabe4816be4dd3e3e6e7bb13b7ab5be148)
| | | | | | * \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-10-1312-133/+175
| | | | | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6581b789d58717bc6acee5c6a248e2d44c636e40) to branch 'net.randombit.botan.c++0x' (head 227a989ae94da8f4379ea4b9b0fc0ee8dbdde0c7)
| | | | | | * \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-10-139-91/+75
| | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2898d79f992f27a328a3e41d34b46eb1052da0de) to branch 'net.randombit.botan.c++0x' (head 6cba76268fd69a73195760c021b7f881b8a6552c)
| | | | | | | * \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-06-222-7/+22
| | | | | | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 647eeb4f4cf8fa4cf487cdc463d48f09fe18658e) to branch 'net.randombit.botan.c++0x' (head 2539675db91883b11895ddc5244721e93c413321)
| | | | | | | * \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-06-176-19/+22
| | | | | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 294e2082ce9231d6165276e2f2a4153a0116aca3) to branch 'net.randombit.botan.c++0x' (head 0b695fad10f924601e07b009fcd781191fafcb28)
| | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-03-219-89/+78
| | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 96d0a1885774b624812fd143d541c8bcda319217) to branch 'net.randombit.botan.c++0x' (head e14368ab9d7976f3e111c6bc0adf24eebeb7c114)
| | | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-03-099-89/+78
| | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9932d4d63417f7fcc199ada244cbaa6c1c32d9c1) to branch 'net.randombit.botan.c++0x' (head f4a385a376311edc62ef506c72cc56f69e6efd5a)
| | | | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2010-02-149-89/+78
| | | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5bfc3e699003b86615c584f8ae40bd6e761f96c0) to branch 'net.randombit.botan.c++0x' (head 8c64a107b58d41f376bfffc69dfab4514d722c5c)
| | | | | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-219-95/+84
| | | | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 14c1d4dc8696d2705a70ec3d2403e01d2ca95265) to branch 'net.randombit.botan.c++0x' (head c567fa7310ba082a837562092728c4b4b882bf82)
| | | | | | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-169-95/+84
| | | | | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 22c82e10d78ad0e2cdaa56cb02f3d846ed0ead5e) to branch 'net.randombit.botan.c++0x' (head 74dbf310b7fcc11f94a16cd63046219acd5d62bc)
| | | | | | | | | | | | * \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-166-9/+12
| | | | | | | | | | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 744dccf92270cf16b80b50ee2759424c9866b256) to branch 'net.randombit.botan.c++0x' (head 2aa1acac1d05e8ea9991fe39015b1db9abc3b24e)
| | | | | | | | | | | | * | | | | | Remove system_time(), replace entirely with std::chrono.lloyd2009-12-012-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only remaining use of time.h/ctime is to convert from a time point to a calendar value, which still requires C's gmtime. Hide it entirely in time.cpp and return a calendar_point struct instead of a std::tm.
| | | | | | | | | | | | * | | | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-12-011-1/+0
| | | | | | | | | | | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b3515264af291b4785d3d296e2cc0e877ca7816a) to branch 'net.randombit.botan.c++0x' (head 66ca78008f08bb5efc2eca52a3d4501f02ffd736)
| | | | | | | | | | | | * \ \ \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-201-0/+1
| | | | | | | | | | | | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b431f4bc404f3ed4a5332b69100ff903fbbb1d6a) to branch 'net.randombit.botan.c++0x' (head a5eb5edada5e025f7c85c096dc59a467cae4aba6)
| | | | | | | | | | | | * | | | | | | | Remove to_string, replacing with std::to_stringlloyd2009-11-185-24/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert to_u32bit to use the new C++0x library func stoul instead of hand-written code.
| | | | | | | | | | | | * | | | | | | | Use the new support for explicitly deleting functions instead of hidinglloyd2009-11-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | them as private variables for operator= and copy constructors that shouldn't be used.
| | | | | | | | | | | | * | | | | | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-172-3/+3
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cfb19182987fc95b2a8885584a38edb10b4709b3) to branch 'net.randombit.botan.c++0x' (head 1570877c463fed4b632bc49a5b5ee27c57de2cb5)
| | | | | | | | | | | | * | | | | | | | | Use auto for long iterator names, etc.lloyd2009-11-161-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will be nice to convert to the range-based for loop once that's available.
| | | | | | | | | | | | * | | | | | | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-11-022-44/+28
| | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2773c2310e8c0a51975987a2dd6c5824c8d43882) to branch 'net.randombit.botan.c++0x' (head f13cf5d7e89706c882604299b508f356c20aae3a)
| | | | | | | | | | | | | * | | | | | | | | Attic-ize all of src/timer, except for time_t_to_tm and system_timelloyd2009-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (which will go later) which will live in the new time.h
| | | | | | | | | | | | | * | | | | | | | | propagate from branch 'net.randombit.botan' (head ↵lloyd2009-09-171-20/+2
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b9ca6596a127964cb9795d22bc2a5642fab5de84) to branch 'net.randombit.botan.c++0x' (head 3c769a81bd357a14f8aca4502b67e8465cee0947)
| | | | | | | | | | | | | * \ \ \ \ \ \ \ \ \ propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-211-5/+7
| | | | | | | | | | | | | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 95eb8083f5884531e5ca0667388f8a6fb6d05c41) to branch 'net.randombit.botan.c++0x' (head 56e105e678540c8bcafa4d0198c19a9489fbf8d1)
| | | | | | | | | | | | | * | | | | | | | | | | A few experiments with auto keyword type inference. Looks like things willlloyd2009-04-011-43/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be much cleaner, though I am looking forward to the new for syntax which will simplify a lot of these uses further.
| * | | | | | | | | | | | | | | | | | | | | | | This should always have reported what it saw and expectedlloyd2012-01-241-1/+5
| | | | | | | | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | | | | | | | BER decoder extras needed by previous commitlloyd2011-12-272-17/+68
| |/ / / / / / / / / / / / / / / / / / / / / /
* | | | | | | | | | | | | | | | | | | | | | | All of the X509 modules were actually mutually dependent. Ideally thislloyd2012-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | would be fixed but it's quite hard to do, makes more sense for now to merge then back into one big x509 blog.
* | | | | | | | | | | | | | | | | | | | | | | Fully working path validation. Even fixes the cases in PKITS where welloyd2012-02-062-0/+34
|/ / / / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | got the answer wrong before. Still no policy or name constraints support, though.
* / / / / / / / / / / / / / / / / / / / / / Name the params for DER_Encoder in headerlloyd2011-10-061-24/+47
|/ / / / / / / / / / / / / / / / / / / / /
* / / / / / / / / / / / / / / / / / / / / Explicitly specify the types for make_pair when passing a const arraylloyd2011-05-241-2/+10
|/ / / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as the first value. Oddly, Sun Studio's default STL tries to make a pair with the first value a 'const byte[2]', and then subsequently rejects that as invalid. Reported by Jeremy Reed.
* | | | | | | | | | | | | | | | | | | | Convert the BER/DER coders to use size_t instead of u32bit for smalllloyd2011-02-094-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | integer values. Update callers.
* | | | | | | | | | | | | | | | | | | | Some cleanups, and add an <ios> include for Sun Studio 12lloyd2011-02-091-2/+2
| | | | | | | | | | | | | | | | | | | |