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/10 15:27:30 UTC

[jira] Commented: (HARMONY-758) [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not

    [ 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