commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <>
Subject [jira] [Commented] (CRYPTO-77) Hide Stream's Ctor with cipher parameter
Date Thu, 16 Jun 2016 13:36:05 GMT


Sebb commented on CRYPTO-77:

CRYPTO-77: Hide Steam's constructor with cipher parameter


> Hide Stream's Ctor with cipher parameter
> ----------------------------------------
>                 Key: CRYPTO-77
>                 URL:
>             Project: Commons Crypto
>          Issue Type: Bug
>            Reporter: Xianda Ke
>            Assignee: 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

View raw message