de.osci.osci12.messageparts
Class Attachment

java.lang.Object
  |
  +--de.osci.osci12.messageparts.MessagePart
        |
        +--de.osci.osci12.messageparts.Attachment

public class Attachment
extends MessagePart

Attachment

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. muß.

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

Copyright: Copyright (c) 2003

Organisation: bremen online services GmbH & Co. KG

Version:
1.0
See Also:
Content, ContentContainer

Field Summary
 byte[] digestValue
          Hashwert
static int STATE_OF_ATTACHMENT_ENCRYPTED
           
static int STATE_OF_ATTACHMENT_PARSING
           
 
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 isEncrypted()
          Liefert true, wenn es sich um ein verschlüsseltes Attachment handelt.
 void setContentType(java.lang.String contentType)
          Diese Methode setzt den Content-Type (Http-Content-Type) der Binärdaten
 
Methods inherited from class de.osci.osci12.messageparts.MessagePart
getRefID, setRefID
 
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

digestValue

public byte[] digestValue
Hashwert

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. Zur Zeit wird nur TDES für die symmetrische Verschlüsselung unterstützt.

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 muß innerhalb der Nachricht, an die das Attachment gehängt wird, eindeutig sein.
secretKey - der Secret-Key mit dem verschlüsselt werden soll. Zur Zeit wird nur TDES für die symmetrische Verschlüsselung unterstützt. Der übergebene Schlüssel muß 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 muß innerhalb der Nachricht, an die das Attachment gehängt wird, eindeutig sein.
Method Detail

getLength

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

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:
den InputStream der Anhangsdaten, oder null, wenn die Nachricht nicht empfangen (d.h. mit Hilfe eine Konstruktors erzeugt wurde).
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 Binärdaten #setContentType(String)

setContentType

public void setContentType(java.lang.String contentType)
Diese Methode setzt den Content-Type (Http-Content-Type) der Binärdaten

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

getDigestValue

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

Overrides:
getDigestValue in class MessagePart
Returns:
Hashwert des Attachments
java.io.IOException
java.security.NoSuchAlgorithmException

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.