summaryrefslogtreecommitdiffstats
path: root/crypto/x509v3/v3_purp.c
AgeCommit message (Collapse)Author
2001-02-01Tolerate some "variations" used in someDr. Stephen Henson
certificates. One is a valid CA which has no basicConstraints but does have certSign keyUsage. Other is S/MIME signer with nonRepudiation but no digitalSignature.
2000-09-05*BIG* verify code reorganisation.Dr. Stephen Henson
The old code was painfully primitive and couldn't handle distinct certificates using the same subject name. The new code performs several tests on a candidate issuer certificate based on certificate extensions. It also adds several callbacks to X509_VERIFY_CTX so its behaviour can be customised. Unfortunately some hackery was needed to persuade X509_STORE to tolerate this. This should go away when X509_STORE is replaced, sometime... This must have broken something though :-(
2000-06-01There have been a number of complaints from a number of sources that namesRichard Levitte
like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
2000-06-01The previous commit to crypto/stack/*.[ch] pulled the type-safety stringsGeoff Thorpe
yet tighter, and also put some heat on the rest of the library by insisting (correctly) that compare callbacks used in stacks are prototyped with "const" parameters. This has led to a depth-first explosion of compiler warnings in the code where 1 constification has led to 3 or 4 more. Fortunately these have all been resolved to completion and the code seems cleaner as a result - in particular many of the _cmp() functions should have been prototyped with "const"s, and now are. There was one little problem however; X509_cmp() should by rights compare "const X509 *" pointers, and it is now declared as such. However, it's internal workings can involve recalculating hash values and extensions if they have not already been setup. Someone with a more intricate understanding of the flow control of X509 might be able to tighten this up, but for now - this seemed the obvious place to stop the "depth-first" constification of the code by using an evil cast (they have migrated all the way here from safestack.h). Fortunately, this is the only place in the code where this was required to complete these type-safety changes, and it's reasonably clear and commented, and seemed the least unacceptable of the options. Trying to take the constification further ends up exploding out considerably, and indeed leads directly into generalised ASN functions which are not likely to cooperate well with this.
2000-05-04Fix for SSL server purpose checkingDr. Stephen Henson
2000-03-07New compatability trust and purpose settings.Dr. Stephen Henson
2000-02-26More get0 et al. changes. Also provide fgrep targets in CHANGESBodo Möller
where the new functions are mentioned.
2000-02-26Rename functions for new convention.Dr. Stephen Henson
2000-02-07Rename the X509V3_*_d2i functions to X509_get_ext_d2i() etc.Dr. Stephen Henson
This better reflects their behaviour.
2000-01-21Some more ifdefs for no-xxx options.Ulf Möller
1999-12-03Fix a bug in the modified purpose code: it wasn't updated to use theDr. Stephen Henson
new purpose getting function. Update the ca-cert.pem and pca-cert.pem "CA" certificates so they really are CA certificate: that is they have the appropriate extensions.
1999-12-02Change the trust and purpose code so it doesn't need initDr. Stephen Henson
either and has a static and dynamic mix.
1999-11-29Add part of chain verify SSL support code: not complete or doing anythingDr. Stephen Henson
yet. Add a function X509_STORE_CTX_purpose_inherit() which implements the logic of "inheriting" purpose and trust from a parent structure and using a default: this will be used in the SSL code and possibly future S/MIME. Partial documentation of the 'verify' utility. Still need to document how all the extension checking works and the various error messages.
1999-11-27Add trust setting support to the verify code. It now checks theDr. Stephen Henson
trust settings of the root CA. After a few fixes it seems to work OK. Still need to add support to SSL and S/MIME code though.
1999-11-26New options to the -verify program which can be used for chain verification.Dr. Stephen Henson
Extend the X509_PURPOSE structure to include shortnames for purposed and default trust ids. Still need some extendable trust checking code and integration with the SSL and S/MIME code.
1999-11-16New function X509_cmp().Dr. Stephen Henson
1999-11-04Allow additional information to be attached to aDr. Stephen Henson
certificate: currently this includes trust settings and a "friendly name".
1999-10-25Improve support for running everything as a monolithic application.Bodo Möller
Submitted by: Lennart Bång, Bodo Möller
1999-10-13Initial support for certificate purpose checking: this willDr. Stephen Henson
ultimately lead to certificate chain verification. It is VERY EXPERIMENTAL at present though.