de.osci.osci12.messageparts
Class ContentContainer

java.lang.Object
  |
  +--de.osci.osci12.messageparts.MessagePart
        |
        +--de.osci.osci12.messageparts.ContentContainer
All Implemented Interfaces:
java.io.Serializable

public class ContentContainer
extends MessagePart
implements java.io.Serializable

ContentContainer

Die ContentConatiner-Klasse stellt einen OSCI- Auftragscontainer dar. Ein ContentContainer kann einen oder meherere Content- (XML-Datencontainer) 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: Copyright (c) 2003

Organisation: bremen online services GmbH & Co. KG

See Also:
Serialized Form

Constructor Summary
ContentContainer()
          Legt ein ContentContainer-Objekt für die Verwendung in dem übergebenen Nachrichtenobjekt 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.
 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 Role Objekte des ContentContainer, welche für die Signatur verwendet wurden.
 OSCISignature[] getSignatures()
          Liefert die Signatur-Objekte.
 Role[] getSigners()
          Liefert die Rollenobjekte, von denen Signaturen angebracht wurden.
 void removeContent(Content content, boolean removeAttachment)
          Entfernt ein Content-Objekt aus dem ContentContainer.
 void removeEncryptedData(EncryptedDataOSCI encryptedDataElement, boolean removeAttachment)
          Entfernt ein EncryptedData-Objekt aus dem ContentContainer.
 void sign(Role role, java.lang.String signatureAlgorithm)
           
 int sign(Role signer, de.osci.osci12.extinterfaces.viewer.TrustedViewerI tv, java.lang.String signatureAlgorithm)
          Signiert den ContentContainer unter Verwendung des übergebenen Rollenobjektes.
 java.lang.String toString()
          Interne Methode.
 void writeXML(java.io.OutputStream out)
          Interne Methode, wird von Anwendungen normalerweise nicht aufgerufen.
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
addTransformerForSignature, getDigestMethodAlgorithm, getDigestValue, getRefID, getTransformerForSignature, setDigestMethodAlgorithm, 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 für die Verwendung in dem übergebenen Nachrichtenobjekt an. Das ContenContainer-Objekt wird nicht automatisch dem Nachrichtenobjekt hinzugefügt.

See Also:
StoreDelivery.addContentContainer(ContentContainer)
Method Detail

getAttachments

public Attachment[] getAttachments()
liefert die Eingestellten Attachment Objekte des ContentContainer.


getRoles

public Role[] getRoles()
liefert die Eingestellten Role Objekte des ContentContainer, welche für die Signatur verwendet wurden.


sign

public void sign(Role role,
                 java.lang.String signatureAlgorithm)
          throws java.io.IOException,
                 java.security.NoSuchAlgorithmException,
                 javax.crypto.NoSuchPaddingException,
                 java.security.InvalidKeyException,
                 OSCIRoleException,
                 java.security.SignatureException,
                 OSCICancelledException
java.io.IOException
java.security.NoSuchAlgorithmException
javax.crypto.NoSuchPaddingException
java.security.InvalidKeyException
OSCIRoleException
java.security.SignatureException
OSCICancelledException

sign

public int sign(Role signer,
                de.osci.osci12.extinterfaces.viewer.TrustedViewerI tv,
                java.lang.String signatureAlgorithm)
         throws java.io.IOException,
                java.security.NoSuchAlgorithmException,
                javax.crypto.NoSuchPaddingException,
                java.security.InvalidKeyException,
                OSCIRoleException,
                java.security.SignatureException,
                OSCICancelledException
Signiert den ContentContainer unter Verwendung des übergebenen Rollenobjektes. Bevor die Signatur durchgeführt wird, wird die sign(ContentContainer)-Methode des übergebenen TrustedViewerI-Objektes aufgerufen. Außerdem wird das Rollen-Objekt der Parent- Nachricht hinzugefügt, so daß das Signaturzertifikat enthalten ist.

Der Hashalgorithmus ist z.Zt. auf TDES festgelegt.

Parameters:
signer - das Rollenobjekt, welches signieren soll.
tv - TrustedViewerI-Implementation
Returns:
Rückgabewert der sign(ContentContainer)-Methode der TrustedViewerI-Implementation. Bei einem Wert > Null wurde die Signatur angeregt.
Throws:
java.io.IOException - bei Schreib-/Lesefehlern
java.security.NoSuchAlgorithmException - wenn für einen enthaltenes Content-, EncryptedData- oder Attachment-Objekt ein nicht unterstützter Hashalgorithmus gesetzt wurde oder wenn für das übergebene Rollen-Objekt ein nicht unterstützter Signieralgorithmus gesetzt wurde.
javax.crypto.NoSuchPaddingException - wenn der installierte Security-Provider das für TDES erforderliche Paddingverfahren nicht unterstützt.
java.security.InvalidKeyException - wenn der installierte Security-Provider einen ungültigen TDES-Schlüssel erzeugt hat.
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.
OSCICancelledException

getSigners

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

Returns:
die Rollenobjkete

getSignatures

public OSCISignature[] getSignatures()
Liefert die Signatur-Objekte.

Returns:
die Signatur-Objekte

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.

See Also:
Content

removeContent

public void removeContent(Content content,
                          boolean removeAttachment)
Entfernt ein Content-Objekt aus dem ContentContainer. Der zweite Parameter gibt an, ob bei Contents, die ein Attachment referenzieren, dieses aus der OSCI-Nachricht entfernt wird. Dies ist von Bedeutung, wenn ein Attachments in mehreren Contents referenziert wird.

Parameters:
content - das zu entfernende Content-Objekt
removeAttachment - true -> Attachment wird aus Parent-Nachricht entfernt
See Also:
Content

addEncryptedData

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

See Also:
EncryptedDataOSCI

removeEncryptedData

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

Parameters:
encryptedDataElement - das zu entfernende EncryptedData-Objekt
removeAttachment - true -> Attachment wird aus Parent-Nachricht entfernt
See Also:
EncryptedDataOSCI

getEncryptedData

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

Returns:
die EncryptedData-Objekte
See Also:
EncryptedDataOSCI

writeXML

public void writeXML(java.io.OutputStream out)
              throws java.io.IOException
Interne Methode, wird von Anwendungen normalerweise nicht aufgerufen.

Specified by:
writeXML in class MessagePart
Parameters:
out -
Throws:
java.io.IOException

toString

public java.lang.String toString()
Description copied from class: MessagePart
Interne Methode.

Overrides:
toString in class MessagePart
Returns:
String-Darstellung