de.osci.osci12.messageparts
Class Attachment

java.lang.Object
  extended byde.osci.osci12.messageparts.MessagePart
      extended byde.osci.osci12.messageparts.Attachment

public class Attachment
extends MessagePart

Die Attachment-Klasse repr�sentiert einen Anhang einer OSCI-Nachricht. Attachments werden in Content-Elementen mittels eines href-Attributs referenziert. Sie besitzen hierf�r einen Identifier (refId), der innerhalb der Nachricht, an die das Attachment geh�ngt wird, eindeutig sein muss.

Ein Attachment kann mit einem eigenen symmetrischen Schl�ssel versehen werden. Hierdurch kann in verschiedenen verschl�sselten Inhaltsdatencontainern (EncryptedDataOSCI) dasselbe Attachment referenziert werden.

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:
Content, ContentContainer

Field Summary
static int STATE_OF_ATTACHMENT_ENCRYPTED
           
static int STATE_OF_ATTACHMENT_PARSING
           
 
Fields inherited from class de.osci.osci12.messageparts.MessagePart
ns
 
Constructor Summary
Attachment(java.io.InputStream ins, java.lang.String refId)
          Erzeugt ein neues Attachment-Objekt aus dem InputStream.
Attachment(java.io.InputStream ins, java.lang.String refId, javax.crypto.SecretKey secretKey)
          Erzeugt ein neues Attachment-Objekt aus dem InputStream.
Attachment(java.io.InputStream ins, java.lang.String refId, java.lang.String symmetricCipherAlgorithm)
          Erzeugt ein neues Attachment-Objekt aus dem InputStream.
 
Method Summary
 java.lang.String getContentType()
          Diese Methode liefert den Content der Bin�rdaten im Mime-Format.
 byte[] getDigestValue()
          Liefert den Hashwert des Attachments.
 byte[] getEncryptedDigestValue()
          Liefert den Hashwert nach der Verschl�sselung f�r die Nachrichtensignatur.
 long getLength()
          Diese Methode liefert die L�nge des Attachments in Byte.
 java.io.InputStream getStream()
          Liefert den InputStream der Daten zur�ck, wenn das Attachment einer empfangenen Nachricht entnommen wurde.
 boolean hasDigestValue()
          undocumented
 boolean isEncrypted()
          Liefert true, wenn es sich um ein verschl�sseltes Attachment handelt.
 void setBase64Encoding(boolean b64)
          Setzt das Encoding dea MIME-Boundary-Abschnitts auf Base64.
 void setBoundary(java.lang.String boundary)
          Setzt den MIME-Trennstring.
 void setContentType(java.lang.String contentType)
          Diese Methode setzt den Content-Type (MIME-Content-Type) der Daten
 void setRefID(java.lang.String id)
          Setzt das refID-Attribut des Attachments.
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
getRefID, setNSPrefixes, setNSPrefixes
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STATE_OF_ATTACHMENT_PARSING

public static final int STATE_OF_ATTACHMENT_PARSING
See Also:
Constant Field Values

STATE_OF_ATTACHMENT_ENCRYPTED

public static final int STATE_OF_ATTACHMENT_ENCRYPTED
See Also:
Constant Field Values
Constructor Detail

Attachment

public Attachment(java.io.InputStream ins,
                  java.lang.String refId,
                  java.lang.String symmetricCipherAlgorithm)
           throws java.lang.IllegalArgumentException,
                  java.io.IOException,
                  java.security.NoSuchAlgorithmException
Erzeugt ein neues Attachment-Objekt aus dem InputStream.

Parameters:
ins - der InputStream, aus dem die Daten gelesen und an die Nachricht angeh�ngt werden
refId - Identifier des Anhangs, z.B. Dateiname
symmetricCipherAlgorithm - symmetrischer Verschl�sselungsalgorithmus Die m�glichen Werte sind Constants.SYMMETRIC_CIPHER_ALGORITHM_TDES_CBC und Constants.SYMMETRIC_CIPHER_ALGORITHM_AES128, -129, -256
See Also:
Constants

Attachment

public Attachment(java.io.InputStream ins,
                  java.lang.String refId,
                  javax.crypto.SecretKey secretKey)
           throws java.lang.IllegalArgumentException,
                  java.io.IOException,
                  java.security.NoSuchAlgorithmException
Erzeugt ein neues Attachment-Objekt aus dem InputStream. Der geheime Schl�ssel wird f�r die Verschl�sselung des Attachments benutzt.

Parameters:
ins - der InputStream, aus dem die Daten gelesen und an die Nachricht angeh�ngt werden
refId - Identifier des Anhangs, z.B. Dateiname. Dieser Identifier muss innerhalb der Nachricht, an die das Attachment geh�ngt wird, eindeutig sein
secretKey - der Secret-Key mit dem verschl�sselt werden soll Der �bergebene Schl�ssel muss daher f�r diesem Algorithmus anwendbar sein Wird dieser Parameter mit 'null' �bergeben, wird ein neuer TripleDES-Schl�ssel erzeugt

Attachment

public Attachment(java.io.InputStream ins,
                  java.lang.String refId)
           throws java.lang.IllegalArgumentException,
                  java.io.IOException,
                  java.security.NoSuchAlgorithmException
Erzeugt ein neues Attachment-Objekt aus dem InputStream. Das Attachment wird unverschl�sselt �bertragen.

Parameters:
ins - der InputStream, aus dem die Daten gelesen und an die Nachricht angeh�ngt werden.
refId - Identifier des Anhangs, z.B. Dateiname. Dieser Identifier muss innerhalb der Nachricht, an die das Attachment geh�ngt wird, eindeutig sein.
Method Detail

setRefID

public void setRefID(java.lang.String id)
Setzt das refID-Attribut des Attachments. Hinweis: Da der hier �bergebene String als Content-ID im Header des MIME-Boundary-Abschnitts erscheint, d�rfen hier strenggenommen nur US-ASCII-Zeichen verwendet (RFC 822) werden. Die Bibliothek codiert und interpretiert die Zeichen als UTF-8, so dass alle 7-Bit-ASCII-Zeichen (0-0x7f) richtig verarbeitet werden. Andere Zeichen werden - sofern sie als UTF-8 interpretiert werden - richtig �bertragen, versto�en aber gegen die Spezifikation. Eine (voraussichtlich rudiment�re) Unterst�tzung anderer Zeichens�tze (RFC 2047) ist in Vorbereitung.

Overrides:
setRefID in class MessagePart
Parameters:
id - refID-String
See Also:
MessagePart.getRefID()

getLength

public long getLength()
Diese Methode liefert die L�nge des Attachments in Byte.

Overrides:
getLength in class MessagePart
Returns:
L�nge des Attachments

getStream

public java.io.InputStream getStream()
                              throws de.osci.osci12.encryption.OSCICipherException,
                                     java.io.IOException
Liefert den InputStream der Daten zur�ck, wenn das Attachment einer empfangenen Nachricht entnommen wurde.

Returns:
InputStream der Anhangsdaten
Throws:
de.osci.osci12.encryption.OSCICipherException
java.io.IOException

getContentType

public java.lang.String getContentType()
Diese Methode liefert den Content der Bin�rdaten im Mime-Format.

Returns:
Content-Type der Daten #setContentType(String)

setContentType

public void setContentType(java.lang.String contentType)
Diese Methode setzt den Content-Type (MIME-Content-Type) der Daten

Parameters:
contentType - Content-Type der Daten, sollte ein g�ltiges Mime-Format sein (z.B. 'text/html' oder 'image/gif') #getContentType()

hasDigestValue

public boolean hasDigestValue()
undocumented

Returns:
undocumented

getDigestValue

public byte[] getDigestValue()
                      throws java.io.IOException,
                             java.security.NoSuchAlgorithmException
Liefert den Hashwert des Attachments.

Returns:
Hashwert des Attachments
Throws:
java.io.IOException
java.security.NoSuchAlgorithmException

setBoundary

public void setBoundary(java.lang.String boundary)
Setzt den MIME-Trennstring. Wird von Anwendungen normalerweise nicht aufgerufen.

Parameters:
boundary - Trenner

setBase64Encoding

public void setBase64Encoding(boolean b64)
Setzt das Encoding dea MIME-Boundary-Abschnitts auf Base64.

Parameters:
b64 - true -> Daten werden Base64 codiert.

isEncrypted

public boolean isEncrypted()
Liefert true, wenn es sich um ein verschl�sseltes Attachment handelt.

Returns:
verschl�sselt -> true, unverschl�sselt -> false

getEncryptedDigestValue

public byte[] getEncryptedDigestValue()
Liefert den Hashwert nach der Verschl�sselung f�r die Nachrichtensignatur.

Returns:
Hashwert


Copyright © 2004. All Rights Reserved.