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 © 2017 Freie Hansestadt Bremen
Erstellt von Governikus 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 Senator für Finanzen, Freie Hansestadt Bremen, Schillerstr. 1, 28195 Bremen schriftlich angefordert werden.Content
,
ContentContainer
Modifier and Type | Field and Description |
---|---|
static int |
STATE_OF_ATTACHMENT_ENCRYPTED |
static int |
STATE_OF_ATTACHMENT_PARSING |
ns, ns2017
Constructor and Description |
---|
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)
Deprecated.
Erzeugt ein neues Attachment-Objekt aus dem InputStream. Der geheime schlüssel wird für die
Verschlüsselung des Attachments benutzt.In Zukunft bitte
Attachment(InputStream, String, SecretKey, String) benutzen |
Attachment(java.io.InputStream ins,
java.lang.String refId,
javax.crypto.SecretKey secretKey,
java.lang.String symmetricCipherAlgorithm)
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.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getContentType()
Diese Methode liefert den Content der Binärdaten im Mime-Format.
|
byte[] |
getDigestValue(java.lang.String digestAlgorithm)
Liefert den Hashwert des Attachments.
|
byte[] |
getEncryptedDigestValue(java.lang.String digestAlgorithm)
Liefert den Hashwert nach der Verschlüsselung für die Nachrichtensignatur.
|
long |
getLength()
Diese Methode liefert die Länge des Attachments in Byte.
|
java.util.Hashtable<java.lang.String,java.lang.String> |
getMimeHeaders()
Liefert eine Hashtable mit den MIME-Headereinträgen des MIME-boundary.
|
java.lang.String |
getRefID()
Liefert das refID-Attribut des Attachments.
|
java.io.InputStream |
getStream()
Liefert den InputStream der Daten zuRück, wenn das Attachment einer empfangenen Nachricht entnommen
wurde.
|
java.lang.String |
getSymmetricCipherAlgorithm()
Liefert den SymmetricCipherAlgorithm des secret keys
|
boolean |
hasDigestValue(java.lang.String digestAlgorithm)
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 |
setMimeHeaders(java.util.Hashtable<java.lang.String,java.lang.String> headers)
Setzt zusätzliche MIME-Headereinträge für den MIME-boundary Abschnitt des Attachments.
|
void |
setRefID(java.lang.String id)
Setzt das refID-Attribut des Attachments.
|
void |
setSymmetricCipherAlgorithm(java.lang.String symmetricCipherAlgorithm)
Setzt den SymmetricCipherAlgorithm des secret keys
|
setNSPrefixes, setNSPrefixes
public static final int STATE_OF_ATTACHMENT_PARSING
public static final int STATE_OF_ATTACHMENT_ENCRYPTED
public Attachment(java.io.InputStream ins, java.lang.String refId, java.lang.String symmetricCipherAlgorithm) throws java.lang.IllegalArgumentException, java.io.IOException, java.security.NoSuchAlgorithmException
ins
- der InputStream, aus dem die Daten gelesen und an die Nachricht angehängt werdenrefId
- Identifier des Anhangs, z.B. DateinamesymmetricCipherAlgorithm
- symmetrischer Verschlüsselungsalgorithmus Die möglichen Werte sind
Constants.SYMMETRIC_CIPHER_ALGORITHM_TDES_CBC und Constants.SYMMETRIC_CIPHER_ALGORITHM_AES128,
-129, -256java.lang.IllegalArgumentException
java.io.IOException
java.security.NoSuchAlgorithmException
Constants
@Deprecated public Attachment(java.io.InputStream ins, java.lang.String refId, javax.crypto.SecretKey secretKey) throws java.lang.IllegalArgumentException, java.io.IOException, java.security.NoSuchAlgorithmException
Attachment(InputStream, String, SecretKey, String)
benutzenins
- der InputStream, aus dem die Daten gelesen und an die Nachricht angehängt werdenrefId
- Identifier des Anhangs, z.B. Dateiname. Dieser Identifier muss innerhalb der Nachricht, an
die das Attachment gehängt wird, eindeutig seinsecretKey
- 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
AES-256-schlüssel erzeugtjava.lang.IllegalArgumentException
java.io.IOException
java.security.NoSuchAlgorithmException
public Attachment(java.io.InputStream ins, java.lang.String refId, javax.crypto.SecretKey secretKey, java.lang.String symmetricCipherAlgorithm) throws java.lang.IllegalArgumentException, java.io.IOException, java.security.NoSuchAlgorithmException
ins
- der InputStream, aus dem die Daten gelesen und an die Nachricht angehängt werdenrefId
- Identifier des Anhangs, z.B. Dateiname. Dieser Identifier muss innerhalb der Nachricht, an
die das Attachment gehängt wird, eindeutig seinsecretKey
- der Secret-Key mit dem verschlüsselt werden sollsymmetricCipherAlgorithm
- der symetrische Verschlüsselungs-Algorithmus passend zu dem Secret Key
Der übergebene schlüssel muss daher für diesem Algorithmus anwendbar sein Wird dieser Parameter
mit 'null' übergeben, wird ein neuer AES-256-schlüssel erzeugtjava.lang.IllegalArgumentException
java.io.IOException
java.security.NoSuchAlgorithmException
public Attachment(java.io.InputStream ins, java.lang.String refId) throws java.lang.IllegalArgumentException, java.io.IOException, java.security.NoSuchAlgorithmException
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.java.lang.IllegalArgumentException
java.io.IOException
java.security.NoSuchAlgorithmException
public void setRefID(java.lang.String id)
setRefID
in class MessagePart
id
- refID-StringgetRefID()
,
URLEncoder
public java.lang.String getRefID()
getRefID
in class MessagePart
setRefID(String)
,
URLDecoder
public long getLength()
getLength
in class MessagePart
public java.io.InputStream getStream() throws de.osci.osci12.encryption.OSCICipherException, java.io.IOException
de.osci.osci12.encryption.OSCICipherException
java.io.IOException
public java.lang.String getContentType()
public void setContentType(java.lang.String contentType)
contentType
- Content-Type der Daten, sollte ein gültiges Mime-Format sein (z.B. 'text/html' oder
'image/gif') #getContentType()public boolean hasDigestValue(java.lang.String digestAlgorithm)
public byte[] getDigestValue(java.lang.String digestAlgorithm) throws java.io.IOException, java.security.NoSuchAlgorithmException
java.io.IOException
java.security.NoSuchAlgorithmException
public void setBoundary(java.lang.String boundary)
boundary
- Trennerpublic void setBase64Encoding(boolean b64)
b64
- true -> Daten werden Base64 codiert.public boolean isEncrypted()
public java.lang.String getSymmetricCipherAlgorithm()
public void setSymmetricCipherAlgorithm(java.lang.String symmetricCipherAlgorithm)
symmetricCipherAlgorithm
- Algopublic byte[] getEncryptedDigestValue(java.lang.String digestAlgorithm) throws java.io.IOException, java.security.NoSuchAlgorithmException
java.io.IOException
java.security.NoSuchAlgorithmException
public java.util.Hashtable<java.lang.String,java.lang.String> getMimeHeaders()
public void setMimeHeaders(java.util.Hashtable<java.lang.String,java.lang.String> headers)
headers
- MIME-Header als key-value-PaaresetContentType(String)
Copyright © 2017. All Rights Reserved.