harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Kleymenov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-758) [classlib][security]javax.crypto.spec.CipherOutputStream.write(byte[], 0, 0) throws IllegalStateException while RI does not
Date Mon, 10 Jul 2006 10:22:30 GMT
     [ 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


Mime
View raw message