AMETAS.data
Class AMETASIdentity

java.lang.Object
  extended byAMETAS.data.AMETASIdentity
All Implemented Interfaces:
AMETASProtectable, java.lang.Cloneable, java.io.Serializable
Direct Known Subclasses:
AMETASSigner

public class AMETASIdentity
extends java.lang.Object
implements AMETASProtectable, java.io.Serializable

Repräsentiert eine Identität in AMETAS. Identitäten gehören menschlichen Benutzern, aber auch Stellen. Identitäten haben stets einen öffentlichen Schlüssel und können mit einem privaten Schlüssel versehen werden, um unterzeichnen und chiffrieren zu können. Eine Identität muss von einer Zertifizierungsautorität beglaubigt sein, um verwendet werden zu können. Wichtig ist zu bemerken, dass PlaceUserIDs immer nur für die Laufzeit des Stellennutzer gültig sind, während Identitäten dauerhaft sind.

See Also:
AMETASSigner, Serialized Form

Field Summary
protected  boolean m_bProtected
          Gibt an, ob das Objekt geschützt ist.
protected  AMETASIdentityID m_iid
          Identitäts-ID.
protected  java.security.PublicKey m_PublicKey
          Öffentlicher Schlüssel.
protected  java.lang.String m_sInfo
          Information über die Identität.
protected  java.util.Vector m_vctEncodedCertificates
          Zertifikate, die die Bindung an den Schlüssel bezeugen.
 
Constructor Summary
AMETASIdentity()
          Konstruktor.
 
Method Summary
 void addCertificate(java.security.Certificate cert)
          Hinzufügen eines Zertifikats zu der Identität.
 java.security.Certificate[] certificates()
          Liefert ein Array von Zertifikaten, die der Identität zugeordnet wurden.
 java.lang.Object clone()
          Erstellt eine ungeschützte Kopie der Identität.
 boolean equals(java.lang.Object identity)
          Vergleichen zweier Identitäten.
 AMETASIdentityID getID()
          Liefert die ID der Identität.
 java.lang.String getInfo()
          Liefert den Informations-String zu dieser Identität.
 java.lang.String getName()
          Liefert den Namen.
static AMETASIdentity getPublicInstance(AMETASIdentity idyFull)
          Erzeugt eine AMETASIdentity aus dem mitgegebenen Objekt.
 java.security.PublicKey getPublicKey()
          Liefert den öffentlichen Schlüssel.
 boolean isProtected()
          Überprüft, ob das Objekt geschützt ist.
static AMETASIdentity load(java.io.InputStream isIdentity, java.lang.String sMantra)
          Lädt eine Identität aus dem angegebenen Datenstrom.
static AMETASIdentity load(java.lang.String sFileName, java.lang.String sMantra)
          Lädt eine Identität aus der angegebenen Datei.
 void protect()
          Schützt die Identität.
 void removeCertificate(java.security.Certificate cert)
          Entfernen eines Zertifikats aus der Liste.
 void removeCertificates()
          Entfernen aller Zertifikate.
 void save(java.lang.String sFileName, java.lang.String sMantra)
          Speichert eine Identität in der angegebenen Datei.
protected  void setID(AMETASIdentityID id)
          Setzen der ID der Identität.
 void setInfo(java.lang.String sInfo)
          Festlegen des Info-Strings der Identität.
 void setPublicKey(java.security.PublicKey key)
          Setzt einen neuen öffentlichen Schlüssel.
 java.lang.String toString()
          Liefert eine Beschreibung der Identität.
 java.lang.String toString(boolean bDetailed)
          Liefert eine Beschreibung der Identität.
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_sInfo

protected java.lang.String m_sInfo
Information über die Identität.


m_vctEncodedCertificates

protected java.util.Vector m_vctEncodedCertificates
Zertifikate, die die Bindung an den Schlüssel bezeugen.


m_PublicKey

protected java.security.PublicKey m_PublicKey
Öffentlicher Schlüssel.


m_iid

protected AMETASIdentityID m_iid
Identitäts-ID.


m_bProtected

protected boolean m_bProtected
Gibt an, ob das Objekt geschützt ist.

Constructor Detail

AMETASIdentity

public AMETASIdentity()
Konstruktor.

Method Detail

clone

public java.lang.Object clone()
Erstellt eine ungeschützte Kopie der Identität.

Specified by:
clone in interface AMETASProtectable
Returns:
Kopie der Identität.

load

public static AMETASIdentity load(java.lang.String sFileName,
                                  java.lang.String sMantra)
                           throws java.io.FileNotFoundException,
                                  java.io.StreamCorruptedException,
                                  java.io.IOException
Lädt eine Identität aus der angegebenen Datei.

Parameters:
sFileName - Dateiname.
sMantra - Mantra zur Entschlüsselung, falls erforderlich.
Returns:
Geladene Identität.
Throws:
java.io.FileNotFoundException - wenn die Datei nicht gefunden wurde.
java.io.StreamCorruptedException - wenn die Datei keine Identität beinhaltet oder das Mantra nicht stimmt.
java.io.IOException - bei sonstigen Ladefehlern.

load

public static AMETASIdentity load(java.io.InputStream isIdentity,
                                  java.lang.String sMantra)
                           throws java.io.StreamCorruptedException,
                                  java.io.IOException
Lädt eine Identität aus dem angegebenen Datenstrom.

Parameters:
isIdentity - Datenstrom.
sMantra - Mantra zur Entschlüsselung, falls erforderlich.
Returns:
Geladene Identität.
Throws:
java.io.StreamCorruptedException - wenn der Eingabestrom keine Identität beinhaltet oder das Mantra nicht stimmt.
java.io.IOException - bei sonstigen Ladefehlern.

save

public void save(java.lang.String sFileName,
                 java.lang.String sMantra)
          throws java.io.IOException
Speichert eine Identität in der angegebenen Datei.

Parameters:
sFileName - Dateiname
sMantra - Mantra zur Verschlüsselung oder null, wenn keine Verschlüsselung benötigt wird.
Throws:
java.io.IOException - bei Problemen beim Speichern.

getPublicInstance

public static final AMETASIdentity getPublicInstance(AMETASIdentity idyFull)
Erzeugt eine AMETASIdentity aus dem mitgegebenen Objekt. Diese enthält jedoch nur öffentlich zugängliche Daten wie PublicKey und Infos.

Parameters:
idyFull - Identität.
Returns:
Kopie der Identität, die nur öffentlich zugängliche Daten enthält.

setID

protected void setID(AMETASIdentityID id)
Setzen der ID der Identität.

Parameters:
id - Identitäts-ID.
Throws:
ProtectionViolationException - wenn die Identität geschützt ist.

protect

public void protect()
Schützt die Identität.

Specified by:
protect in interface AMETASProtectable

isProtected

public boolean isProtected()
Überprüft, ob das Objekt geschützt ist.

Specified by:
isProtected in interface AMETASProtectable
Returns:
true, wenn es geschützt ist.

getPublicKey

public java.security.PublicKey getPublicKey()
Liefert den öffentlichen Schlüssel.

Returns:
Öffentlicher Schlüssel.

setPublicKey

public void setPublicKey(java.security.PublicKey key)
Setzt einen neuen öffentlichen Schlüssel. Dabei werden alle Zertifikate entfernt.

Parameters:
key - Öffentlicher Schlüssel.
Throws:
ProtectionViolationException - wenn das Objekt geschützt ist.

setInfo

public void setInfo(java.lang.String sInfo)
Festlegen des Info-Strings der Identität.

Parameters:
sInfo - Information.
Throws:
ProtectionViolationException - wenn das Objekt geschützt ist.

getInfo

public java.lang.String getInfo()
Liefert den Informations-String zu dieser Identität.

Returns:
Information.

addCertificate

public void addCertificate(java.security.Certificate cert)
                    throws java.security.KeyManagementException
Hinzufügen eines Zertifikats zu der Identität. Existiert das Zertifikat bereits, wird keine Änderung vorgenommen.

Parameters:
cert - Zertifikat.
Throws:
java.security.KeyManagementException - wenn das Zertifikat nicht zum öffentlichen Schlüssel passt oder eine Kodierung des Zertifikats fehlschlug.
ProtectionViolationException - wenn das Objekt geschützt ist.

removeCertificates

public void removeCertificates()
Entfernen aller Zertifikate.

Throws:
ProtectionViolationException - wenn das Objekt geschützt ist.

removeCertificate

public void removeCertificate(java.security.Certificate cert)
                       throws java.security.KeyManagementException
Entfernen eines Zertifikats aus der Liste.

Parameters:
cert - Zu entfernendes Zertifikat.
Throws:
java.security.KeyManagementException - wenn ein Problem bei der Kodierung des Zertifikats auftrat.
ProtectionViolationException - wenn das Objekt geschützt ist.

certificates

public java.security.Certificate[] certificates()
Liefert ein Array von Zertifikaten, die der Identität zugeordnet wurden.

Returns:
Liste von Zertifikaten dieser Identität als Feld. Falls keine Zertifikate vorhanden sind, wird ein Feld der Länge null geliefert.

getID

public AMETASIdentityID getID()
Liefert die ID der Identität.

Returns:
ID der Identität,

getName

public java.lang.String getName()
Liefert den Namen.

Returns:
Name aus der ID.

equals

public boolean equals(java.lang.Object identity)
Vergleichen zweier Identitäten. Gleichheit besteht, wenn die IDs gleich sind.

Returns:
true bei Gleichheit.

toString

public java.lang.String toString()
Liefert eine Beschreibung der Identität.

Returns:
Stringrepräsentation.

toString

public java.lang.String toString(boolean bDetailed)
Liefert eine Beschreibung der Identität.

Parameters:
bDetailed - wenn true, ist die Beschreibung detailierter.
Returns:
Stringrepräsentation.