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.