de.osci.osci12.messageparts
Class ContentContainer

java.lang.Object
  extended byde.osci.osci12.messageparts.MessagePart
      extended byde.osci.osci12.messageparts.ContentContainer
All Implemented Interfaces:
java.io.Serializable

public class ContentContainer
extends MessagePart
implements java.io.Serializable

Die ContentContainer-Klasse stellt einen OSCI-Inhaltsdatenscontainer dar. Ein ContentContainer kann einen oder mehrere Content- oder EncryptedData-Objekte enthalten. Attachments werden als Contents eingestellt, die eine Referenz auf das Attachment enthalten.

Ein Content-Container wird als eine Einheit signiert und / oder verschlüsselt.

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:
Serialized Form

Field Summary
 
Fields inherited from class de.osci.osci12.messageparts.MessagePart
ns
 
Constructor Summary
ContentContainer()
          Legt ein ContentContainer-Objekt an.
 
Method Summary
 void addContent(Content content)
          Fügt dem ContentContainer ein Content-Objekt hinzu.
 void addEncryptedData(EncryptedDataOSCI encryptedDataElement)
          Fügt dem ContentContainer ein EncryptedData-Objekt hinzu.
 boolean checkAllSignatures()
          Überprüft alle Signaturen in dem ContentContainer.
 boolean checkSignature(Role signatureRole)
          Überprüft die Signatur zu dem übergebenen Role Objekt.
 Attachment[] getAttachments()
          Liefert die eingestellten Attachment-Objekte des ContentContainer.
 Content[] getContents()
          Liefert die im ContentContainer enthaltenen Content-Objekte.
 EncryptedDataOSCI[] getEncryptedData()
          Liefert die im ContentContainer enthaltenen verschlüsselten Daten als EncryptedData-Objekte.
 Role[] getRoles()
          Liefert die eingestellten Rollen-Objekte des ContentContainer, welche für die Signatur sowie untergeordnete Verschlüsselungen und Signaturen verwendet wurden.
 Role[] getSigners()
          Liefert die Rollenobjekte, von denen die Signaturen angebracht wurden.
 void removeContent(Content content)
          Entfernt ein Content-Objekt aus dem ContentContainer.
 void removeEncryptedData(EncryptedDataOSCI encryptedDataElement, boolean removeAttachment)
          Entfernt ein EncryptedData-Objekt aus dem ContentContainer.
 void sign(Role signer)
          Diese Methode signiert mit dem angegebenen Rollen-Objekt den kompletten ContentContainer.
 java.lang.String toString()
          undocumented
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
getLength, getRefID, setNSPrefixes, setNSPrefixes, setRefID
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ContentContainer

public ContentContainer()
Legt ein ContentContainer-Objekt an.

Method Detail

checkSignature

public boolean checkSignature(Role signatureRole)
                       throws de.osci.osci12.signature.OSCISignatureException,
                              OSCIRoleException
Überprüft die Signatur zu dem übergebenen Role Objekt. Zur Installation von ggf. erforderlichen Transformern s. checkAllSignatures(). Bevor eine Signaturprüfung an dem ContentContainer-Objekt durchgeführt werden kann, müssen denjenigen Content-Objekten, die unter Anwendung von Transformationen signiert wurden, die transformierten Daten übergeben werden. Welche Transformationen erforderlich sind, kann (bei Content-Objekten mit Inhaltsdaten) mit Hilfe der Methode getTransformerForSignature() abgefragt werden.

Parameters:
signatureRole - Rollen-Objekt mit dem Zertifikat zur Signatur
Returns:
true, wenn die Prüfung positiv ausgefallen ist
Throws:
de.osci.osci12.signature.OSCISignatureException
OSCIRoleException
See Also:
checkAllSignatures(), Content.setTransformedData(InputStream transformedData), Content.getTransformerForSignature()

checkAllSignatures

public boolean checkAllSignatures()
                           throws OSCIRoleException,
                                  de.osci.osci12.signature.OSCISignatureException
Überprüft alle Signaturen in dem ContentContainer. Die Hinweise zu transformierten Daten (s. checkSignature(Role)) sind zu beachten.

Returns:
true, wenn alle Prüfungen positiv ausgefallen sind
Throws:
OSCIRoleException - wenn z.B. erforderliche Zertifikate fehlen
de.osci.osci12.signature.OSCISignatureException - wenn bei der Prüfung der Signatur ein Fehler auftritt oder der Inhaltsdatencontainer überhaupt nicht signiert wurde.
See Also:
checkSignature(Role)

getAttachments

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

Returns:
Array der referenzierten Attachments

getRoles

public Role[] getRoles()
Liefert die eingestellten Rollen-Objekte des ContentContainer, welche für die Signatur sowie untergeordnete Verschlüsselungen und Signaturen verwendet wurden.

Returns:
Array der Rollenobjekte

sign

public void sign(Role signer)
          throws OSCIException,
                 java.security.NoSuchAlgorithmException,
                 java.security.SignatureException,
                 java.io.IOException
Diese Methode signiert mit dem angegebenen Rollen-Objekt den kompletten ContentContainer.

Der Hashalgorithmus ist default auf SHA-1 festgelegt und kann im DialogHandler geändert werden (z.Zt. jedoch nicht).

Parameters:
signer - Role-Objekt mit dem Signer-Objekt
Throws:
java.io.IOException - bei Schreib-/Lesefehlern
java.security.NoSuchAlgorithmException - wenn für ein enthaltenes Content-, EncryptedData- oder Attachment-Objekt ein nicht unterstützter Hashalgorithmus gesetzt wurde oder wenn für das übergebene Role-Objekt ein nicht unterstützter Signieralgorithmus gesetzt wurde
OSCIRoleException - wenn für das übergebene Rollenobjekt kein Signer-Objekt gesetzt wurde oder diesem das erforderliche Signaturzertifikat fehlt
java.security.SignatureException - wenn beim Signaturvorgang ein Fehler aufgetreten ist
OSCIException

getSigners

public Role[] getSigners()
Liefert die Rollenobjekte, von denen die Signaturen angebracht wurden.

Returns:
Array der Rollenobjekte

addContent

public void addContent(Content content)
Fügt dem ContentContainer ein Content-Objekt hinzu.

Parameters:
content - das hinzuzufügende Content-Objekt
See Also:
Content

getContents

public Content[] getContents()
Liefert die im ContentContainer enthaltenen Content-Objekte.

Returns:
content Array der enthaltenen Content-Objekt
See Also:
Content

removeContent

public void removeContent(Content content)
                   throws java.lang.IllegalArgumentException
Entfernt ein Content-Objekt aus dem ContentContainer.

Parameters:
content - das zu entfernende Content-Objekt
Throws:
java.lang.IllegalStateException - wenn der ContentContainer signiert ist
java.lang.IllegalArgumentException
See Also:
Content

addEncryptedData

public void addEncryptedData(EncryptedDataOSCI encryptedDataElement)
Fügt dem ContentContainer ein EncryptedData-Objekt hinzu.

Parameters:
encryptedDataElement - das hinzuzufügende EncryptedData-Objekt
See Also:
EncryptedDataOSCI

removeEncryptedData

public void removeEncryptedData(EncryptedDataOSCI encryptedDataElement,
                                boolean removeAttachment)
                         throws java.lang.IllegalStateException
Entfernt ein EncryptedData-Objekt aus dem ContentContainer. Der zweite Parameter gibt an, ob bei EncryptedData-Objekten, die ein verschlüsseltes Attachment referenzieren, dieses aus dem ContentContainer entfernt wird. Dies ist von Bedeutung, wenn ein Attachment in mehreren EncryptedData-Objekten referenziert wird.

Parameters:
encryptedDataElement - das zu entfernende EncryptedDataOSCI-Objekt
removeAttachment - true -> Attachments, welche im EncryptedData-Objekt referenziert sind, werden ebenfalls aus dem ContentContainer entfernt
Throws:
java.lang.IllegalStateException - wenn der ContentContainer signiert ist
See Also:
EncryptedDataOSCI

getEncryptedData

public EncryptedDataOSCI[] getEncryptedData()
Liefert die im ContentContainer enthaltenen verschlüsselten Daten als EncryptedData-Objekte.

Returns:
Array der enthaltenen EncryptedData-Objekte
See Also:
EncryptedDataOSCI

toString

public java.lang.String toString()
undocumented

Returns:
undocumented


Copyright © 2004. All Rights Reserved.