public class ContentContainer extends MessagePart implements java.io.Serializable
Die ContentContainer-Klasse stellt einen OSCI-Inhaltsdatenscontainer dar. Ein ContentContainer kann einen oder mehrere Content- 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 © 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.ns, ns2017
Constructor and Description |
---|
ContentContainer()
Legt ein ContentContainer-Objekt an.
|
Modifier and Type | Method and Description |
---|---|
void |
addContent(Content content)
Fügt dem ContentContainer ein Content-Objekt hinzu.
|
void |
addEncryptedData(EncryptedDataOSCI encryptedDataElement)
Fügt dem ContentContainer ein EncryptedData-Objekt hinzu.
|
boolean |
checkAllSignatures()
Überprüft alle Signaturen in dem ContentContainer.
|
boolean |
checkSignature(Role signatureRole)
Überprüft die Signatur zu dem übergebenen Role Objekt.
|
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 Rollen-Objekte des ContentContainer, welche für die Signatur sowie
untergeordnete Verschlüsselungen und Signaturen verwendet wurden.
|
OSCISignature[] |
getSignatures()
Liefert ein Array mit den Signatur-Objekten.
|
Role[] |
getSigners()
Liefert die Rollenobjekte, von denen die Signaturen angebracht wurden.
|
boolean |
hasWeakSignature(Role signer,
java.util.Date date)
Durchsucht Inhaltsdatensignaturen nach den verwendeten Algorithmen.
|
void |
removeContent(Content content)
Entfernt ein Content-Objekt aus dem ContentContainer.
|
void |
removeEncryptedData(EncryptedDataOSCI encryptedDataElement,
boolean removeAttachment)
Entfernt ein EncryptedData-Objekt aus dem ContentContainer.
|
void |
sign(Role signer)
Signiert den Container mit dem im
DialogHandler festgelegten Standardhashalgorithmus (zur
Berechnung der Hashwerte der Nachrichtenbestandteile, die in das SignedInfo-Element eingetragen werden). |
void |
sign(Role signer,
java.lang.String digestAlgorithm)
Diese Methode signiert mit dem angegebenen Rollen-Objekt den kompletten ContentContainer.
|
void |
sign(Role signer,
java.lang.String digestAlgorithm,
java.lang.String time)
Deprecated.
Die Verwendung dieser Methode führt zur Inkompatibilität der erzeugten Nachrichten mit
älteren Versionen der OSCI 1.2-Transportbibliothek. Sie sollte nur in Szenarien eingesetzt
werden, in denen sichergestellt ist, dass alle beteiligten Kommunikationspartner aktuelle
Implementierungen verwenden.
|
java.lang.String |
toString()
undocumented
|
getLength, getRefID, setNSPrefixes, setNSPrefixes, setRefID
public boolean checkSignature(Role signatureRole) throws de.osci.osci12.signature.OSCISignatureException, OSCIRoleException
signatureRole
- Rollen-Objekt mit dem Zertifikat zur Signaturde.osci.osci12.signature.OSCISignatureException
OSCIRoleException
checkAllSignatures()
,
Content.setTransformedData(InputStream transformedData)
,
Content.getTransformerForSignature()
public OSCISignature[] getSignatures()
OSCISignature.signatureAlgorithm
,
OSCISignature.getDigestMethods()
public boolean hasWeakSignature(Role signer, java.util.Date date) throws OSCIRoleException
date
- Prüfzeitpunktjava.lang.IllegalStateException
- falls der ContentContainer nicht von dem übergebenen Rollenobjekt signiert
istOSCIRoleException
- wenn beim Zugriff auf das Signatur-Rollenobjekt (z.B. Zertifikat) ein Problem
auftrittpublic boolean checkAllSignatures() throws OSCIRoleException, de.osci.osci12.signature.OSCISignatureException
OSCIRoleException
- wenn z.B. erforderliche Zertifikate fehlende.osci.osci12.signature.OSCISignatureException
- wenn bei der Prüfung der Signatur ein Fehler auftritt oder der
Inhaltsdatencontainer überhaupt nicht signiert wurde.checkSignature(Role)
public Attachment[] getAttachments()
public Role[] getRoles()
public void sign(Role signer, java.lang.String digestAlgorithm) throws OSCIException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.io.IOException
Signer
-Implementierung festgelegt. Hinweis:
Wenn der ContentContainer einen verschlüsselten ContentContainer (EncryptedDataOSCI) enthält, so werden
die (ebenfalls verschlüsselten) Attachments, die ggf. in diesem Container referenziert sind, nicht mit
signiert. Der Grund ist, dass bei einer Signaturprüfung Refenzen auf Attachments im verschlüsselten
ContentContainer nicht überprüft werden können.signer
- Role-Objekt mit dem Signer-ObjektdigestAlgorithm
- Hashalgorithmus, der für die Berechnung der Hashwerte im SignedInfo-Element
verwendet werden soll.java.io.IOException
- bei Schreib-/Lesefehlernjava.security.NoSuchAlgorithmException
- wenn für ein enthaltenes Content-, EncryptedData- oder Attachment-Objekt
ein nicht unterstützter Hashalgorithmus gesetzt wurde oder wenn für das übergebene Role-Objekt
ein nicht unterstützter Signieralgorithmus gesetzt wurdeOSCIRoleException
- wenn für das übergebene Rollenobjekt kein Signer-Objekt gesetzt wurde oder
diesem das erforderliche Signaturzertifikat fehltjava.security.SignatureException
- wenn beim Signaturvorgang ein Fehler aufgetreten istOSCIException
Signer.getAlgorithm()
,
ISO8601DateTimeFormat
public void sign(Role signer) throws OSCIException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.io.IOException
DialogHandler
festgelegten Standardhashalgorithmus (zur
Berechnung der Hashwerte der Nachrichtenbestandteile, die in das SignedInfo-Element eingetragen werden).
Der Signaturalgorithmus wird von der verwendeten Signer-Implementierung festgelegt.signer
- Role-Objekt mit dem Signer-Objektjava.io.IOException
- bei Schreib-/Lesefehlernjava.security.NoSuchAlgorithmException
- wenn für ein enthaltenes Content-, EncryptedData- oder Attachment-Objekt
ein nicht unterstützter Hashalgorithmus gesetzt wurde oder wenn für das übergebene Role-Objekt
ein nicht unterstützter Signieralgorithmus gesetzt wurdeOSCIRoleException
- wenn für das übergebene Rollenobjekt kein Signer-Objekt gesetzt wurde oder
diesem das erforderliche Signaturzertifikat fehltjava.security.SignatureException
- wenn beim Signaturvorgang ein Fehler aufgetreten istOSCIException
sign(Role, String)
,
DialogHandler.setDigestAlgorithm(String)
,
Signer.getAlgorithm()
public void sign(Role signer, java.lang.String digestAlgorithm, java.lang.String time) throws OSCIException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.io.IOException
Signer
-Implementierung festgelegt. Der
Signaturzeitpunkt kann im ISO-8601-Format übergeben werden. Hinweis: Wenn der ContentContainer
einen verschlüsselten ContentContainer (EncryptedDataOSCI) enthält, so werden die (ebenfalls
verschlüsselten) Attachments, die ggf. in diesem Container referenziert sind, nicht mit signiert. Der
Grund ist, dass bei einer Signaturprüfung Refenzen auf Attachments im verschlüsselten ContentContainer
nicht überprüft werden können.signer
- Role-Objekt mit dem Signer-ObjektdigestAlgorithm
- Hashalgorithmus, der für die Berechnung der Hashwerte im SignedInfo-Element
verwendet werden soll.time
- Signaturzeitpunkt im ISO 8601-Formatjava.io.IOException
- bei Schreib-/Lesefehlernjava.security.NoSuchAlgorithmException
- wenn für ein enthaltenes Content-, EncryptedData- oder Attachment-Objekt
ein nicht unterstützter Hashalgorithmus gesetzt wurde oder wenn für das übergebene Role-Objekt
ein nicht unterstützter Signieralgorithmus gesetzt wurdeOSCIRoleException
- wenn für das übergebene Rollenobjekt kein Signer-Objekt gesetzt wurde oder
diesem das erforderliche Signaturzertifikat fehltjava.security.SignatureException
- wenn beim Signaturvorgang ein Fehler aufgetreten istOSCIException
Signer.getAlgorithm()
,
ISO8601DateTimeFormat
public Role[] getSigners()
public void addContent(Content content)
content
- das hinzuzufügende Content-ObjektOSCIException
Content
public Content[] getContents()
Content
public void removeContent(Content content) throws java.lang.IllegalArgumentException
content
- das zu entfernende Content-Objektjava.lang.IllegalStateException
- wenn der ContentContainer signiert istjava.lang.IllegalArgumentException
Content
public void addEncryptedData(EncryptedDataOSCI encryptedDataElement)
encryptedDataElement
- das hinzuzufügende EncryptedData-ObjektEncryptedDataOSCI
public void removeEncryptedData(EncryptedDataOSCI encryptedDataElement, boolean removeAttachment) throws java.lang.IllegalStateException
encryptedDataElement
- das zu entfernende EncryptedDataOSCI-ObjektremoveAttachment
- true -> Attachments, welche im EncryptedData-Objekt referenziert sind,
werden ebenfalls aus dem ContentContainer entferntjava.lang.IllegalStateException
- wenn der ContentContainer signiert istEncryptedDataOSCI
public EncryptedDataOSCI[] getEncryptedData()
EncryptedDataOSCI
public java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2017. All Rights Reserved.