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/09/08 16:44:24 UTC
[jira] Commented: (HARMONY-1087) [classlib][crypto] compatibility:
RI throws IllegalStateException while Harmony IOException (according to
spec)
[ http://issues.apache.org/jira/browse/HARMONY-1087?page=comments#action_12433411 ]
Vladimir Ivanov commented on HARMONY-1087:
------------------------------------------
verified, thanks
> [classlib][crypto] compatibility: RI throws IllegalStateException while Harmony IOException (according to spec)
> ---------------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-1087
> URL: http://issues.apache.org/jira/browse/HARMONY-1087
> Project: Harmony
> Issue Type: Bug
> Components: Classlib
> Reporter: Vladimir Ivanov
> Assigned To: Mikhail Loenko
> Priority: Minor
> Attachments: CipherInputStreamTest.patch, patch.txt
>
>
> The spec says for the method javax.crypto.CipherInputStream().close(): "Throws: IOException - if an I/O error occurs."
> The Harmony implementation throws IOException for simple test while RI throws "IllegalStateException: Cipher not initialized".
> Seems, it is 'non-bug diff'.
> ================ test.java =====================
> import javax.crypto.*;
> import java.io.*;
> public class test {
> public static void main (String[] args) {
> try {
> new CipherInputStream(new ByteArrayInputStream(new byte[]{1}), Cipher.getInstance("DES/CBC/PKCS5Padding")).close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> try {
> new CipherInputStream(new BufferedInputStream((InputStream)null), Cipher.getInstance("DES/CBC/PKCS5Padding")).close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> ============================================
> Output:
> C:\tmp\tmp17>C:\jdk1.5.0_06\bin\java.exe -cp . -showversion test
> java version "1.5.0_06"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
> Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode)
> java.lang.IllegalStateException: Cipher not initialized
> at javax.crypto.Cipher.c(DashoA12275)
> at javax.crypto.Cipher.doFinal(DashoA12275)
> at javax.crypto.CipherInputStream.close(DashoA12275)
> at test.main(test.java:8)
> java.lang.IllegalStateException: Cipher not initialized
> at javax.crypto.Cipher.c(DashoA12275)
> at javax.crypto.Cipher.doFinal(DashoA12275)
> at javax.crypto.CipherInputStream.close(DashoA12275)
> at test.main(test.java:13)
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -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))
> java.lang.IllegalStateException: Cipher not initialized
> at javax.crypto.Cipher.c()V(DashoA12275:???)
> at javax.crypto.Cipher.doFinal()[B(DashoA12275:???)
> at javax.crypto.CipherInputStream.close()V(DashoA12275:???)
> at test.main(test.java:8)
> java.lang.IllegalStateException: Cipher not initialized
> at javax.crypto.Cipher.c()V(DashoA12275:???)
> at javax.crypto.Cipher.doFinal()[B(DashoA12275:???)
> at javax.crypto.CipherInputStream.close()V(DashoA12275:???)
> at test.main(test.java:13)
> C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test
> java version 1.5 (subset)
> (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
> java.io.IOException: Stream is closed
> at java.io.BufferedInputStream.close(BufferedInputStream.java:116)
> at javax.crypto.CipherInputStream.close(CipherInputStream.java:136)
> at test.main(test.java:13)
--
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