You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vladimir Ivanov (JIRA)" <ji...@apache.org> on 2006/07/05 07:17:29 UTC
[jira] Created: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
-----------------------------------------------------------------------------------------------------------------------------
Key: HARMONY-758
URL: http://issues.apache.org/jira/browse/HARMONY-758
Project: Harmony
Type: Bug
Components: Classlib
Reporter: Vladimir Ivanov
The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
Seems, it related to the issue 757 to add boundary checks before main action.
================ test.java =======================
import javax.crypto.*;
import java.io.*;
public class test {
public static void main (String[] args) {
try {
Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
NullCipher nc = new NullCipher();
CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
stream3.write(new byte[] {0}, 0, 0);
System.out.println("OK");
} catch (Exception e) {
e.printStackTrace();
}
}
}
==============================================
Output:
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
OK
C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
java version 1.5 (subset)
(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
java.lang.IllegalStateException: Cipher has not yet been initialized properly
at javax.crypto.Cipher.update(Cipher.java:537)
at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Mikhail Loenko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=all ]
Mikhail Loenko closed HARMONY-758.
----------------------------------
verified
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Assigned To: Mikhail Loenko
> Attachments: CipherOutputStreamTest.patch, harmony-758.patch.txt
>
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Mikhail Loenko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=all ]
Mikhail Loenko resolved HARMONY-758:
------------------------------------
Resolution: Fixed
thanks for the patch, Alexander!
applied in revision 420500
Vladimir, please check that it works now
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Assignee: Mikhail Loenko
> Attachments: CipherOutputStreamTest.patch, harmony-758.patch.txt
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=comments#action_12420069 ]
Vladimir Ivanov commented on HARMONY-758:
-----------------------------------------
verified, thanks
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Assignee: Mikhail Loenko
> Attachments: CipherOutputStreamTest.patch, harmony-758.patch.txt
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Assigned: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Mikhail Loenko (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=all ]
Mikhail Loenko reassigned HARMONY-758:
--------------------------------------
Assign To: Mikhail Loenko
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Assignee: Mikhail Loenko
> Attachments: CipherOutputStreamTest.patch, harmony-758.patch.txt
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Alexander Kleymenov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=all ]
Alexander Kleymenov updated HARMONY-758:
----------------------------------------
Attachment: harmony-758.patch.txt
Vladimir, Thank You for explanation!
Attached patch fixes the problem and implements additional regression test cases.
Alexander
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Attachments: CipherOutputStreamTest.patch, harmony-758.patch.txt
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (HARMONY-758)
[classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0,
0) throws IllegalStateException while RI does not
Posted by "Vladimir Ivanov (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/HARMONY-758?page=all ]
Vladimir Ivanov updated HARMONY-758:
------------------------------------
Attachment: CipherOutputStreamTest.patch
unit tests for issue 757 and 758
> [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-758
> URL: http://issues.apache.org/jira/browse/HARMONY-758
> Project: Harmony
> Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Attachments: CipherOutputStreamTest.patch
>
> The Harmony method javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
> Seems, it related to the issue 757 to add boundary checks before main action.
> ================ test.java =======================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> Cipher cf = Cipher.getInstance("DES/CBC/PKCS5Padding");
> NullCipher nc = new NullCipher();
> CipherOutputStream stream1 = new CipherOutputStream(new BufferedOutputStream((OutputStream) null), nc);
> CipherOutputStream stream2 = new CipherOutputStream(stream1, cf);
> CipherOutputStream stream3 = new CipherOutputStream(stream2, nc);
> stream3.write(new byte[] {0}, 0, 0);
> System.out.println("OK");
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ==============================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))
> OK
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.lang.IllegalStateException: Cipher has not yet been initialized properly
> at javax.crypto.Cipher.update(Cipher.java:537)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:76)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:68)
> at javax.crypto.CipherOutputStream.write(CipherOutputStream.java:78)
> at test.main(test.java:12)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira