CipherInput/OutputStream-Problem

Landei

Top Contributor
Hallo!

Ich kann meine Projektfiles im Klartext als XML oder verschlüsselt über einen CipherInput/OutputStream schreiben. Die verschlüsselte Variante klappt auf einmal (wurde länger nicht verwendet) nicht mehr, es sieht so aus, als wären Zeichen abgeschnitten.

Die Initialisierung der Streams:
Java:
            final byte[] salt = {(byte) ...};
            final char[] c = { ...};

            final KeySpec keySpec = new PBEKeySpec(c, salt, 19);
            final SecretKey key = SecretKeyFactory.getInstance(
                    "PBEWithMD5AndDES").generateSecret(keySpec);
            ecipher = Cipher.getInstance(key.getAlgorithm());
            dcipher = Cipher.getInstance(key.getAlgorithm());
            final AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt,
                    19);
            ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec);
            dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec);

Laden (nutzt den gleichen SaxHandler wie die Klartext-Variante):
Java:
            fis = new FileInputStream(fileName);
            cis = new CipherInputStream(fis, dcipher);
            final SAXParser saxParser = factory.newSAXParser();
            saxParser.parse(new InputSource(cis),
                            new ProjectXmlHandler(project));
Code:
SEVERE: Error loading project: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException
[com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684),
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:369), 
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742),
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(XMLEntityScanner.java:1619),
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(XMLEntityScanner.java:1657),
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:193),
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771),
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737),
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107), 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205), 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522), 
javax.xml.parsers.SAXParser.parse(SAXParser.java:395), 
zebra.project.EncryptedProjectIO.loadFromFile(EncryptedProjectIO.java:124),
...
Der Fehler tritt kurz vor dem Ende auf, wenn ich mir statt zu parsen das Ding ausgeben lasse, ist Schluss bei
Code:
<filter type="zebra.filter.MinMaxFilter" name="Glatt%40MM25" position="220,360,80,60" color="255,200,0" >
    <input filter="avg%40MM25" port="default" />
    <param key="AVERAGE" value="25"/>
  </filter
Es käme noch:
Code:
>
</project>
Wobei alle Filter vorher mit der gleichen Routine korrekt geschrieben/gelesen werden konnten.

Schreiben (gleicher String wie Klartext-Variante):
Java:
        FileOutputStream fos = new FileOutputStream(fileName);
        final OutputStream writer = new CipherOutputStream(fos, ecipher);
        try {
            writer.write(XmlProjectIO.getProjectXml(project).getBytes("UTF-8")); //oder ohne Angabe, macht keinen Unterschied
            writer.flush();
        }

Durch die Verschlüsselung sehe ich ja noch nicht mal, ob der Fehler beim Schreiben oder Lesen passiert.

Irgendwelche Ideen?
 
Zuletzt bearbeitet von einem Moderator:

Landei

Top Contributor
Hmmm, vielleicht wegen der falschen Reihenfolge beim Schließen?
Java:
    public void saveToFile(final String fileName, final Project project) throws
            IOException {
        project.setFileName(fileName);
        FileOutputStream fos = new FileOutputStream(fileName);
        final OutputStream writer = new CipherOutputStream(fos, ecipher);
        try {
            writer.write(XmlProjectIO.getProjectXml(project).getBytes("UTF-8"));
            writer.flush();
        } finally {
            if (fos != null) {
                fos.close();
            }
            if (writer != null) {
                writer.close();
            }
        }
    }

Ich teste mal...

[edit]Du bist mein persönlicher Rockstar! Geschlossen habe ich, aber in der verkehrten Reihenfolge!!!
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
Meeresgott Input/Output OutputStream löscht Datei Allgemeine Java-Themen 7
F Jar OutputStream Allgemeine Java-Themen 4
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
D Java Process OutputStream ist null Allgemeine Java-Themen 4
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
G Auf Kommandozeile über Processobjekt mit Outputstream Allgemeine Java-Themen 3
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
L Abspeichern von OutputStream Allgemeine Java-Themen 6
E Outputstream an verschiedenen Positionen beschreiben Allgemeine Java-Themen 4
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D zip Dateien schreiben mit in/outputstream Allgemeine Java-Themen 10
S OutputStream via POST senden Allgemeine Java-Themen 4
T OutputStream to InputStream Allgemeine Java-Themen 8
W StringBuilder effektiv auf OutputStream schreiben Allgemeine Java-Themen 3
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S outputstream über fileUrl Allgemeine Java-Themen 15
L Problem mit dem OutputStream eines Prozesses Allgemeine Java-Themen 9
G OutputStream to System.out Allgemeine Java-Themen 35
I input-/outputstream Allgemeine Java-Themen 6
Junktyz In Writer und Outputstream wird teilweise nicht geschrieben Allgemeine Java-Themen 3
reibi FileOutputStream aus OutputStream erstellen Allgemeine Java-Themen 7
H Problem mit OutputStream Allgemeine Java-Themen 5
T OutputStream - Prozente ermitteln Allgemeine Java-Themen 3
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
A Inputstream in Outputstream umleiten Allgemeine Java-Themen 7
D Cipher(In)OutputStream Allgemeine Java-Themen 3
R Ladebalken für einen Outputstream. Allgemeine Java-Themen 10
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
T Problem mit Outputstream? Allgemeine Java-Themen 2
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
Max246Sch Backtracking Problem Box Filler Allgemeine Java-Themen 6
NightVision402 VisualVM Startskript Problem Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
A Java modul Problem Allgemeine Java-Themen 4
D Read JSON File Problem Allgemeine Java-Themen 9
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
J Problem mit JasperReports Allgemeine Java-Themen 8
M log4j Problem mit jlink Allgemeine Java-Themen 19
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
P Selenium . getText Problem Allgemeine Java-Themen 9
A Jar zu Exe Problem Allgemeine Java-Themen 13
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
A Thread.sleep Problem Allgemeine Java-Themen 2
A Problem bei der Nachbarschafttest Allgemeine Java-Themen 11
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
Splayfer JDA Problem mit MessageCounter Allgemeine Java-Themen 0
Splayfer Problem mit BufferedWriter Allgemeine Java-Themen 3
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
N Maven Problem mit Datenbanktreiber (H2 Embedded) Allgemeine Java-Themen 12
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
C ArrayList Problem Allgemeine Java-Themen 3
kev34 nim-Spiel problem Allgemeine Java-Themen 1
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6
T PIM basierend auf netbeans via AnyDesk Problem Allgemeine Java-Themen 3
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
Kirby.exe Verständnis Problem bei Rucksack Problem Allgemeine Java-Themen 6
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
I Input/Output ObjectOutputStream - Problem Allgemeine Java-Themen 7
1 Multiple Choice Knapsack- Problem Allgemeine Java-Themen 2
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
E Problem mit Gridlayout und Button Allgemeine Java-Themen 2
A Array Problem Allgemeine Java-Themen 8
bueseb84 Problem Allgemeine Java-Themen 0
S Problem mit Arrays Allgemeine Java-Themen 1
D Nullpointer Exception Problem Allgemeine Java-Themen 5
B Problem mit meinen Klassen Allgemeine Java-Themen 6
A HashMap Methode "get()"-Problem Allgemeine Java-Themen 28
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
J Problem bei Install java 13 Allgemeine Java-Themen 3
X Profitable Reise Problem Allgemeine Java-Themen 32
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
Dann07 Problem mit JavaMail API Allgemeine Java-Themen 26
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
J Clear-Problem Allgemeine Java-Themen 10
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
S JFileChooser Problem Allgemeine Java-Themen 4
M Traveling Salesman - MST Heuristik Problem Allgemeine Java-Themen 4
J Traveling Salesman Problem Allgemeine Java-Themen 14
E Java Editor Problem mit 2er Exceptions Allgemeine Java-Themen 12
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
M Salesman Problem - Bruteforce Algorithmus Allgemeine Java-Themen 23
S Methoden Problem mit NullPointerException Allgemeine Java-Themen 9
Javafan02 Problem mit if-clause Allgemeine Java-Themen 17
J Lombok Problem mit Konstruktoren bei Verberbung Allgemeine Java-Themen 1
kodela Event Handling Problem mit der Alt-Taste Allgemeine Java-Themen 16
W Threads Problem Allgemeine Java-Themen 15

Ähnliche Java Themen


Oben