de.osci.osci12.messageparts
Class EncryptedDataOSCI

java.lang.Object
  extended byde.osci.osci12.messageparts.MessagePart
      extended byde.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 Mehrfachverschl�sselung). Anwendungen k�nnen in ein EncryptedDataOSCI-Objekt nur Content-Container (zum Verschl�sseln) einstellen.

Copyright � 2004 Freie Hansestadt Bremen

Erstellt von bremen online services Entwicklungs- und Betriebsgesellschaft GmbH & Co. KG

Diese Bibliothek kann von jedermann nach Ma�gabe der Bremer Lizenz f�r freie Softwarebibliotheken genutzt werden.

Die Lizenzbestimmungen k�nnen unter der URL www.osci.de abgerufen oder bei der OSCI-Leitstelle, Senator f�r Finanzen, Freie Hansestadt Bremen, Postfach 10 15 40, 28015 Bremen schriftlich angefordert werden.

Version:
1.2.1
See Also:
ContentContainer, Attachment

Field Summary
 
Fields inherited from class de.osci.osci12.messageparts.MessagePart
ns
 
Constructor Summary
EncryptedDataOSCI(ContentContainer coco)
          Legt ein EncryptedData-Objekt f�r TripleDES-Verschl�sselung an, welches als zu verschl�sselnden Inhalt das �bergebenen ContentContainer-Objekt enth�lt.
EncryptedDataOSCI(javax.crypto.SecretKey secretKey, ContentContainer coco)
          Legt ein EncryptedData-Objekt mit dem �bergebenen symmetrischen Schl�ssel an, welches als zu verschl�sselnden Inhalt das �bergebenen ContentContainer-Objekt enth�lt.
EncryptedDataOSCI(java.lang.String symmetricCipherAlgorithm, ContentContainer coco)
          Legt ein EncryptedData-Objekt f�r den angegebenen symmetrischen Verschl�sselungsalgorithmus an, welches als zu verschl�sselnden Inhalt das �bergebene ContentContainer-Objekt enth�lt.
 
Method Summary
 ContentContainer decrypt(Role reader)
          Diese Methode entschl�sselt den Inhalt des EncryptedDataOSCI-Objektes 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.
 void setNSPrefixes(java.lang.String soap, java.lang.String osci, java.lang.String ds, java.lang.String xenc, java.lang.String xsi)
          undocumented
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
getLength, getRefID, setNSPrefixes, setRefID
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EncryptedDataOSCI

public EncryptedDataOSCI(ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException
Legt ein EncryptedData-Objekt f�r TripleDES-Verschl�sselung 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 - Inhaltsdatencontainer mit den zu verschl�sselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterst�tzter Algorothmus �bergeben wurde
java.io.IOException

EncryptedDataOSCI

public EncryptedDataOSCI(javax.crypto.SecretKey secretKey,
                         ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException
Legt ein EncryptedData-Objekt mit dem �bergebenen symmetrischen Schl�ssel an, welches als zu verschl�sselnden Inhalt das �bergebenen ContentContainer-Objekt enth�lt.

Parameters:
secretKey - geheimer Schl�ssel zum Verschl�sseln der Daten
coco - Inhaltsdatencontainer mit den zu verschl�sselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterst�tzter Algorothmus �bergeben wurde
java.io.IOException

EncryptedDataOSCI

public EncryptedDataOSCI(java.lang.String symmetricCipherAlgorithm,
                         ContentContainer coco)
                  throws java.security.NoSuchAlgorithmException,
                         java.io.IOException
Legt ein EncryptedData-Objekt f�r den angegebenen symmetrischen Verschl�sselungsalgorithmus an, welches als zu verschl�sselnden Inhalt das �bergebene 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 - Inhaltsdatencontainer mit den zu verschl�sselnden Daten
Throws:
java.security.NoSuchAlgorithmException - wenn ein nicht unterst�tzter Algorithmus �bergeben wurde
java.io.IOException
Method Detail

setNSPrefixes

public void setNSPrefixes(java.lang.String soap,
                          java.lang.String osci,
                          java.lang.String ds,
                          java.lang.String xenc,
                          java.lang.String xsi)
undocumented

Overrides:
setNSPrefixes in class MessagePart
Parameters:
soap - undocumented
osci - undocumented
ds - undocumented
xenc - undocumented
xsi - undocumented

decrypt

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

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

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

Parameters:
reader - enth�lt die Entschl�sselungsinformationen. Das Role-Objekt muss auf jeden Fall ein Decrypter-Objekt zur Aufhebung der Verschl�sselung enthalten.
Returns:
den entschl�sselten ConentContainer
Throws:
de.osci.osci12.encryption.OSCICipherException
OSCIRoleException
java.io.IOException
OSCICancelledException
org.xml.sax.SAXException
java.security.NoSuchAlgorithmException

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
Throws:
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 dass 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.