jsdsi
Class Prover

java.lang.Object
  extended byjsdsi.Prover
Direct Known Subclasses:
FProver, RProver

abstract class Prover
extends java.lang.Object

Given a statement (a Cert) and a CertStore, attempts to construct a Proof that the statement holds using certificates from the store.

Version:
$Revision: 1.1 $ $Date: 2004/02/28 15:49:34 $
Author:
Sameer Ajmani

Nested Class Summary
(package private) static class Prover.ProofFoundException
          Thrown when the Prover finds a proof.
 
Field Summary
(package private)  MultiMap check
          cert -> set of proof(cert)
(package private)  MultiMap compatible
          name -> set of proof(LHS -> name+X)
(package private)  MultiMap issuer
          issuer -> set of proof(issuer -> RHS)
(package private)  Cert provee
          Statement to prove.
(package private)  MultiMap reverse
          subject -> set of proof(LHS -> subject)
(package private)  java.security.cert.CertStore store
          The CertStore used by this Proof.
(package private)  MultiMap value
          name -> set of proof(name -> principal)
 
Constructor Summary
(package private) Prover(Cert c, java.security.cert.CertStore s)
          Creates a new Prover from a given Cert and a given CertStore.
 
Method Summary
(package private)  int getNumFetched()
          Returns the number of certificates fetched from the cert-store.
 Proof getProof()
          Returns the proof found by this prover.
(package private) abstract  void insert(Proof p)
          Inserts the certificates of a given Proof to this Proof.
(package private)  void insertCertificates(java.util.Collection certs)
          Provides new certificates for this prover.
(package private)  java.util.Set load(java.util.Set cache, java.lang.Object key, CertSelector sel, MultiMap map)
          If a given set does not contain a given object, all certficates from the cert-store for a given CertSelector will be added to this proof's certificates.
(package private) abstract  Proof makeProof()
          Creates a new Proof.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

provee

Cert provee
Statement to prove.


store

java.security.cert.CertStore store
The CertStore used by this Proof.


check

MultiMap check
cert -> set of proof(cert)


value

MultiMap value
name -> set of proof(name -> principal)


compatible

MultiMap compatible
name -> set of proof(LHS -> name+X)


issuer

MultiMap issuer
issuer -> set of proof(issuer -> RHS)


reverse

MultiMap reverse
subject -> set of proof(LHS -> subject)

Constructor Detail

Prover

Prover(Cert c,
       java.security.cert.CertStore s)
Creates a new Prover from a given Cert and a given CertStore.

Parameters:
c - Cert for this prover.
s - CertStore for this prover.
Method Detail

getNumFetched

int getNumFetched()
Returns the number of certificates fetched from the cert-store.

Returns:
the number of certificates fetched from the cert-store.

getProof

public final Proof getProof()
Returns the proof found by this prover.

Returns:
the proof found by this prover.

makeProof

abstract Proof makeProof()
Creates a new Proof.

Returns:
a new Proof.

insert

abstract void insert(Proof p)
              throws Prover.ProofFoundException
Inserts the certificates of a given Proof to this Proof.

Parameters:
p - Proof containing certificates to add to this Proof.
Throws:
Prover.ProofFoundException - if a proof is found.

insertCertificates

void insertCertificates(java.util.Collection certs)
                  throws Prover.ProofFoundException
Provides new certificates for this prover. Adds the given certificates to the certificates already used.

Parameters:
certs - certificates to add to the prover.
Throws:
Prover.ProofFoundException - if a proof is found while adding the certificates.

load

java.util.Set load(java.util.Set cache,
                   java.lang.Object key,
                   CertSelector sel,
                   MultiMap map)
             throws Prover.ProofFoundException
If a given set does not contain a given object, all certficates from the cert-store for a given CertSelector will be added to this proof's certificates.

Parameters:
cache - set with objects.
key - key to search in cache.
sel - cert selector to add certificates from to this proof's certificates.
map - multi-map with sets stored for keys.
Returns:
the set stored in map for key if no error occures.
Throws:
Prover.ProofFoundException - if a proof is found.


Copyright © 2002-2004 M.I.T. All Rights Reserved.