de.osci.osci12.messageparts
Class EncryptedDataOSCI

java.lang.Object
  |
  +--de.osci.osci12.messageparts.MessagePart
        |
        +--de.osci.osci12.messageparts.EncryptedDataOSCI

public class EncryptedDataOSCI
extends MessagePart

Die EncryptedDataOSCI-Klasse stellt einen Datencontainer für verschlüsselte Daten in einer OSCI-Nachricht dar. Ein EncryptedDataOSCI-Objekt wird in eine OSCI-Nachricht eingestellt oder in einen Content-Container(bei Merhrfachverschlüsselung). Anwendungen können in ein EncryptedDataOSCI-Objekt nur Content-Container (zum Verschlüsseln) einstellen.

Copyright: Copyright (c) 2003

Organisation: bremen online services GmbH & Co. KG

Version:
1.0
See Also:
ContentContainer, Attachment

Field Summary
static long mem
           
static int TYPE_OF_DATA_ATTACHMENT
          Das EncryptedData Objekt hält Attachment Daten
static int TYPE_OF_DATA_CONTENTCONTAINER
          Das EncryptedData Objekt hält Content-Container Daten
static int TYPE_OF_DATA_ENC_DATA
          Das EncryptedData Objekt beinhaltet ein EncryptedData Objekt (wird vom Parser benutzt oder bei Mehrfachverschlüsselung)
static int TYPE_OF_DATA_OSCI_MSG
          Das EncryptedData Objekt hält eine OSCI MSG (Nachrichtenverschlüsselung)
 
Constructor Summary
EncryptedDataOSCI(ContentContainer coco)
          Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält.
EncryptedDataOSCI(javax.crypto.SecretKey secretKey, ContentContainer coco)
          Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält.
EncryptedDataOSCI(java.lang.String symmetricCipherAlgorithm, ContentContainer coco)
          Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält.
 
Method Summary
 ContentContainer decrypt(Role reader)
          Diese Methode entschlüsselt den Inhalt des EncryptedDataOSCI-Objekt mit dem übergebenem Role Objekt.
 void encrypt(byte[] encryptedSymKey, Role reader)
          Diese Methode erstellt die EncryptedData Strukturen ohne den symmetrischen Schlüssel noch einmal zu verschlüsseln.
 void encrypt(Role reader)
          Verschlüsselt den geheimen Schlüssel und fügt ihn als EncryptedKey-Element dem EncyptedData-Element hinzu.
 Attachment[] getAttachments()
          Liefert die eingestellten Attachment-Objekte des ContentContainer.
 Role[] getReaders()
          Liefert die eingestellten Role-Objekte des EncryptedData-Objektes, mit dem die Daten verschlüsselt wurden.
 Role[] getRoles()
          Liefert die eingestellten Role-Objekte des EncryptedData-Objektes, welche für die Signatur und/oder Verschlüsselung verwendet wurden.
 java.lang.String getSymEncryptionMethod()
          Liefert den Identifier des symmetrischen Verschlüsselungsalgorithmus
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
getRefID, setRefID
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mem

public static long mem

TYPE_OF_DATA_ATTACHMENT

public static int TYPE_OF_DATA_ATTACHMENT
Das EncryptedData Objekt hält Attachment Daten


TYPE_OF_DATA_CONTENTCONTAINER

public static int TYPE_OF_DATA_CONTENTCONTAINER
Das EncryptedData Objekt hält Content-Container Daten


TYPE_OF_DATA_OSCI_MSG

public static int TYPE_OF_DATA_OSCI_MSG
Das EncryptedData Objekt hält eine OSCI MSG (Nachrichtenverschlüsselung)


TYPE_OF_DATA_ENC_DATA

public static int TYPE_OF_DATA_ENC_DATA
Das EncryptedData Objekt beinhaltet ein EncryptedData Objekt (wird vom Parser benutzt oder bei Mehrfachverschlüsselung)

Constructor Detail

EncryptedDataOSCI

public EncryptedDataOSCI(ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         de.osci.osci12.encryption.OSCICipherException,
                         java.io.IOException
Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält. Es wird für die symmetrische Verschlüsselung ein TripleDES-Schlüssel erzeugt.

Parameters:
coco - Inheltsdatencontainer mit den zu verschlüsselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterstützter Algorothmus übergeben wurde.
de.osci.osci12.encryption.OSCICipherException
java.io.IOException

EncryptedDataOSCI

public EncryptedDataOSCI(javax.crypto.SecretKey secretKey,
                         ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         de.osci.osci12.encryption.OSCICipherException,
                         java.io.IOException
Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält.

Parameters:
secretKey - geheimer Schlüssel zum Verschlüsseln der Daten.
coco - Inheltsdatencontainer mit den zu verschlüsselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterstützter Algorothmus übergeben wurde.
de.osci.osci12.encryption.OSCICipherException
java.io.IOException

EncryptedDataOSCI

public EncryptedDataOSCI(java.lang.String symmetricCipherAlgorithm,
                         ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         de.osci.osci12.encryption.OSCICipherException,
                         java.io.IOException
Legt eine EncryptedData-Objekt an, welches als zu verschlüsselnden Inhalt das übergebenen ContentContainer-Objekt enthält. Es wird für die symmetrische Verschlüsselung ein Schlüssel für den gewählten Algorithmus erzeugt.

Parameters:
symmetricCipherAlgorithm - Verschlüsselungsalgorithmus. Erlaubte Werte sind Constants.SYMMETRIC_CIPHER_ALGORITHM_TDES_CBC und Constants.SYMMETRIC_CIPHER_ALGORITHM_AES128, -192, -265
coco - Inheltsdatencontainer mit den zu verschlüsselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterstützter Algorothmus übergeben wurde.
de.osci.osci12.encryption.OSCICipherException
java.io.IOException
Method Detail

decrypt

public ContentContainer decrypt(Role reader)
                         throws de.osci.osci12.encryption.OSCICipherException,
                                OSCIRoleException,
                                java.io.IOException,
                                OSCICancelledException,
                                org.xml.sax.SAXException

Diese Methode entschlüsselt den Inhalt des EncryptedDataOSCI-Objekt mit dem übergebenem Role Objekt.

Die Verschlüsselung wird aufgehoben, die entschlüsselten Informationen geparst und ein ContentContainer Objekt aufgebaut und zurückgegeben.

¶m reader enthält die Entschlüsselungsinformationen. Das Role-Objekt muss auf jeden Fall ein Decrypter-Objekt zur Aufhebung der Verschlüsselung enthalten. &return den entschlüsselten ConentContainer

de.osci.osci12.encryption.OSCICipherException
OSCIRoleException
java.io.IOException
OSCICancelledException
org.xml.sax.SAXException

encrypt

public void encrypt(byte[] encryptedSymKey,
                    Role reader)
             throws OSCIRoleException,
                    java.io.IOException,
                    de.osci.osci12.encryption.OSCICipherException
Diese Methode erstellt die EncryptedData Strukturen ohne den symmetrischen Schlüssel noch einmal zu verschlüsseln. Dies kann bei vielen Verschlüsselungen zu einer schnelleren Verarbeitung mit weniger PIN eingaben führen.

Parameters:
encryptedSymKey - verschlüsselter symmetrischer Schlüssel
reader - Role-Objekt, welches den Leser repräsentiert
OSCIRoleException
java.io.IOException
de.osci.osci12.encryption.OSCICipherException

encrypt

public void encrypt(Role reader)
             throws de.osci.osci12.encryption.OSCICipherException,
                    OSCIRoleException,
                    java.io.IOException,
                    java.security.NoSuchAlgorithmException
Verschlüsselt den geheimen Schlüssel und fügt ihn als EncryptedKey-Element dem EncyptedData-Element hinzu. Außerdem wird das Rollen-Objekt der Parent- Nachricht (des MessagePart-Objektes) hinzugefügt, so daß das Verschlüsselungszertifikat in der Nachricht enthalten ist.

Parameters:
reader - Rollen-Objekt, für welches verschlüsselt werden soll.
Throws:
OSCIRoleException - wenn dem Rollen-Objekt das erforderliche Verschlüsselungszertifikat fehlt.
de.osci.osci12.encryption.OSCICipherException
java.io.IOException
java.security.NoSuchAlgorithmException

getSymEncryptionMethod

public java.lang.String getSymEncryptionMethod()
Liefert den Identifier des symmetrischen Verschlüsselungsalgorithmus

Returns:
Algorithmus

getAttachments

public Attachment[] getAttachments()
Liefert die eingestellten Attachment-Objekte des ContentContainer.

Returns:
Array der zugehörigen Attachments

getRoles

public Role[] getRoles()
Liefert die eingestellten Role-Objekte des EncryptedData-Objektes, welche für die Signatur und/oder Verschlüsselung verwendet wurden.

Returns:
Array der verwendeten Role-Objekte

getReaders

public Role[] getReaders()
Liefert die eingestellten Role-Objekte des EncryptedData-Objektes, mit dem die Daten verschlüsselt wurden.

Returns:
Array der Verschlüsselungs-Role-Objekte


Copyright © 2004. All Rights Reserved.