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.