|
|||||||||
| Home >> All >> [ jsdsi overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
jsdsi
Class Proof

java.lang.Objectjsdsi.Obj
jsdsi.Proof
- public class Proof
- extends Obj
A statement (a Cert) and a sequence of
Certificates (Certs + validators)
that proves that the statement holds. Proofs are
self-validating and can be composed to create new proofs.
- Version:
- $Revision: 1.2 $ $Date: 2003/05/07 19:36:40 $
| Nested Class Summary | |
static class |
Proof.IncompatibleException
New Exception used by methods in this class. |
| Field Summary | |
private Cert |
cert
The statement to prove. |
private Certificate[] |
certs
The certificates that prove it. |
| Constructor Summary | |
private |
Proof(Cert c,
Certificate[] cs)
Creates a new proof from a Cert and an array of
Certificates. |
|
Proof(Certificate c)
Creates a new proof from a given Certificate. |
| Method Summary | |
Proof |
compose(Proof p)
Composes this proof with another proof. |
private AuthCert |
composeAuthAuth(AuthCert lhs,
AuthCert rhs)
Composes one AuthCert with another if the delegation bit
in the first auth certificate is set. |
private AuthCert |
composeAuthName(AuthCert lhs,
NameCert rhs)
Creates a new AuthCert from a given AuthCert
and NameCert. |
private NameCert |
composeNameName(NameCert lhs,
NameCert rhs)
Composes to given names and creates a new NameCert from it. |
private Subject |
composeNames(Name lhName,
Name rhName,
Subject rhSubject)
Tries to compose a Name with another for a given
Principal, that is it checks if the second name given is
a prefix of the first name and if so it tries to create a new name
from the rest of the name-strings the first name posesses more than
the second one and substitutes this name-strings from the first name
in the second name with the subject given. |
private Subject |
composeWithNameCert(Cert lhs,
NameCert rhs)
Tries to compose a name certificate with a given NameCert
by composing a new name from both names and the subject of the second
name certificate. |
private Certificate[] |
concat(Proof p)
Returns an array of certificates from this Proof and
a given Proof. |
boolean |
equals(java.lang.Object o)
Determine whether this Object is semantically equal to another Object. |
Cert |
getCert()
Returns the Cert of this Proof. |
Certificate[] |
getCertificates()
Returns the array of Certificates of this proof. |
Sequence |
getSequence()
Returns a Sequence of this certs' elements. |
int |
hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int. |
private Validity |
intersect(Validity v1,
Validity v2)
Intersects to validities and returns the result. |
SexpList |
toSexp()
Creates an SexpList-representation from this
SDSI-object. |
void |
verify()
Verifies this proof. |
| Methods inherited from class jsdsi.Obj |
parseObj, toByteArray, toString |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
cert
private Cert cert
- The statement to prove.
certs
private Certificate[] certs
- The certificates that prove it.
| Constructor Detail |
Proof
public Proof(Certificate c)
- Creates a new proof from a given
Certificate.
Proof
private Proof(Cert c, Certificate[] cs)
- Creates a new proof from a
Certand an array ofCertificates.
| Method Detail |
getCert
public Cert getCert()
- Returns the
Certof thisProof.
getCertificates
public Certificate[] getCertificates()
- Returns the array of
Certificates of this proof.
getSequence
public Sequence getSequence()
- Returns a
Sequenceof thiscerts' elements.
equals
public boolean equals(java.lang.Object o)
- Description copied from class:
java.lang.Object - Determine whether this Object is semantically equal
to another Object.
There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)andb.equals(c), thena.equals(c)must be true as well. - It must be symmetric.
a.equals(b)andb.equals(a)must have the same value. - It must be reflexive.
a.equals(a)must always be true. - It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)must be false.- It must be consistent with hashCode(). That is,
a.equals(b)must implya.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.
This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for
a.equals(b)to be true even thougha.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.In general, the Collections API (
java.util) use theequalsmethod rather than the==operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.The default implementation returns
this == o. - It must be transitive. If
hashCode
public int hashCode()
- Description copied from class:
java.lang.Object - Get a value that represents this Object, as uniquely as
possible within the confines of an int.
There are some requirements on this method which subclasses must follow:
- Semantic equality implies identical hashcodes. In other
words, if
a.equals(b)is true, thena.hashCode() == b.hashCode()must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal. - It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.
Notice that since
hashCodeis used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.The default implementation returns
System.identityHashCode(this) - Semantic equality implies identical hashcodes. In other
words, if
toSexp
public SexpList toSexp()
- Description copied from class:
Obj - Creates an
SexpList-representation from this SDSI-object.
verify
public void verify()
throws java.security.cert.CertificateException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.SignatureException
- Verifies this proof.
composeNames
private Subject composeNames(Name lhName, Name rhName, Subject rhSubject) throws Proof.IncompatibleException
- Tries to compose a
Namewith another for a givenPrincipal, that is it checks if the second name given is a prefix of the first name and if so it tries to create a new name from the rest of the name-strings the first name posesses more than the second one and substitutes this name-strings from the first name in the second name with the subject given.
composeWithNameCert
private Subject composeWithNameCert(Cert lhs, NameCert rhs) throws Proof.IncompatibleException
- Tries to compose a name certificate with a given
NameCertby composing a new name from both names and the subject of the second name certificate.
intersect
private Validity intersect(Validity v1, Validity v2)
- Intersects to validities and returns the result.
composeNameName
private NameCert composeNameName(NameCert lhs, NameCert rhs) throws Proof.IncompatibleException
- Composes to given names and creates a new
NameCertfrom it.
composeAuthName
private AuthCert composeAuthName(AuthCert lhs, NameCert rhs) throws Proof.IncompatibleException
- Creates a new
AuthCertfrom a givenAuthCertandNameCert.
composeAuthAuth
private AuthCert composeAuthAuth(AuthCert lhs, AuthCert rhs) throws Proof.IncompatibleException
- Composes one
AuthCertwith another if the delegation bit in the first auth certificate is set.
concat
private Certificate[] concat(Proof p)
- Returns an array of certificates from this
Proofand a givenProof.
compose
public Proof compose(Proof p) throws Proof.IncompatibleException
- Composes this proof with another proof.
|
|||||||||
| Home >> All >> [ jsdsi overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC