Xianda Ke created CRYPTO-13:
-------------------------------

             Summary: The API differences between apache.commons.crypto and JCE
                 Key: CRYPTO-13
                 URL: https://issues.apache.org/jira/browse/CRYPTO-13
             Project: Apache Commons Crypto
          Issue Type: Bug
            Reporter: Xianda Ke


Now, the API of CryptoInputStream & CryptoOutputStream are slightly different 
from JCE.
In JCE, the cipher must be fully initialized before being used by a 
CipherInputStream
{code}
// Jce API sample
Cipher c= Cipher.getInstance("AES/GCM/NoPadding", "SunJCE");
c.init(Cipher.DECRYPT_MODE, key, new GCMParameterSpec(128, iv));
CipherInputStream cin = new CipherInputStream (InputStream is, Cipher c );
{code}

Now, we do the initialization of cipher in the ctor of CryptoInputStream.
{code}
//apache.commons.crypto API:
CryptoInputStream(CipherTransformation transformation,  Properties props, 
InputStream in, byte[] key, byte[] iv)
{code}
We should add an interface with two parameters like JCE. This interface would 
be convenient to support other mode in future such as GCM.
And, Keeping the same API as JCE would more friendly to users.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to