namespace Akenti class CertificateVerifier
-
CertificateVerifier(CertificateCache& cache, const vector<Certificate>& trustedCerts)
-
Constructs this object
-
~CertificateVerifier()
-
Destroys this object
-
bool verify(const AkentiCertificate& cert, const vector& dirs, int cacheInterval)
-
Verifies the AkentiCertificate specified by cert
CertificateVerifier(const CertificateVerifier&)
-
Disallows copying
void operator=(const CertificateVerifier&)
-
Disallows assignement
bool verify(const AkentiCertificate& issuerCert, const AkentiCertificate& issuedCert)
-
Determines whether issuerCert was used to "sign"
issuedCert
CacheCertHolder getIssuerCert(const AkentiCertificate& cert, const vector& dirs, int cacheInterval)
-
Helper function
Documentation
CertificateVerifier(CertificateCache& cache, const vector<Certificate>& trustedCerts)
-
Constructs this object.
- Throws:
- Error if trustedCerts is an empty vector.
- Parameters:
- cache - CertificateCache used to store and fetch X509 certificates.
trustedCerts - vector
- See Also:
- Certficate
CertficateCache
~CertificateVerifier()
-
Destroys this object
bool verify(const AkentiCertificate& cert, const vector& dirs, int cacheInterval)
-
Verifies the AkentiCertificate specified by cert.
The verification succeds if the X509 identity certificate of the
cert's issuer is found to be valid and trusted.
Algorithm to fetch find the issuer's X509 identity certificate:
1) trusted ca certs:
We first look to see if the issuer's cert is one these trusted
certficates. If so we are done.
2) cache:
We then query the cache for an X509 certificate for that issuer.
Recall the cache only returns certificates that has not been
cached longer thancacheInterval. Furthermore, the cache
never returns a certificate that has expired or that has not
verified. So if the issuer's certificate is found in the cache,
we only need to consider two cases:
a) Issuer's cert has been verified. We are done.
b) Issuer's cert has not yet been verified. We verify
it by starting at step one.
3) directories:
We search the directories for the issuer's cert. We cache
every certificate that we find while looking for it. And
we only stop when we have searched all the directories or
if we find the issuer's cert. And of course we proceed to
verify the issuer's cert by starting at step one.
- Returns:
- true if certificate verifies, false otherwise.
- Parameters:
- cert - AkentiCertificate cert to be verified.
dirs - vector directories to loolk up X509 certs.
cacheInterval - int the allowable duration of a certificate
in the cache.
- See Also:
- verify(AkentiCertificate, AkentiCertificate&)
CertificateCache
AkentiCertificate
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de