commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xianda Ke (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CRYPTO-77) Hide Steam's Ctor with cipher parameter
Date Thu, 16 Jun 2016 02:50:05 GMT
Xianda Ke created CRYPTO-77:
-------------------------------

             Summary: Hide Steam's Ctor with cipher parameter
                 Key: CRYPTO-77
                 URL: https://issues.apache.org/jira/browse/CRYPTO-77
             Project: Commons Crypto
          Issue Type: Bug
            Reporter: Xianda Ke


Stream has such two Ctor:
{code}
// denoted as (a)
public CryptoInputStream(InputStream in, CryptoCipher cipher,
            int bufferSize, Key key, AlgorithmParameterSpec params)

// denoted as (b)
public CryptoInputStream(CipherTransformation transformation,
            Properties props, InputStream in, Key key,
            AlgorithmParameterSpec params)
{code}

if use Ctor (b), client user don't have to construct a cipher.  make sense. 

But, in Ctor (a), the cipher argument is create outside Ctor, then it is initialized in CryptoInputStream's
Ctor. The cipher’s construction is scattered. It is a bit confusing.
Ctor (a) seem only used internally.  It would be better to hide Ctor (a) for user.

In future, we can consider this:
{code}
// don't pass key and iv param, the cipher should be initialized outside
// similar to JDK, and more scalable to support GCM, CCM modes.
CryptoInputStream(InputStream in, CryptoCipher cipher,  int bufferSize)
{code}

right now, we just hide Ctor (a) for user.



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

Mime
View raw message