harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-2680) [classlib][security]AlgorithmParameters.getEncoded(null) throws NullPointerException on Harmony but not on RI.
Date Fri, 15 Dec 2006 11:42:23 GMT
     [ http://issues.apache.org/jira/browse/HARMONY-2680?page=all ]

Stepan Mishura resolved HARMONY-2680.
-------------------------------------

    Resolution: Invalid

Hi Leo,

I think this is a bug in BouncyCastle provider.

I agree that the spec. might be confusing.
It says for getEncoded(String format): "If format is null, the primary encoding format for
parameters is used."
And for getEncoded(): "Returns: the parameters encoded using their primary encoding format"

So the first solution that comes to mind is to check for null value in getEncoded(String format)
method and invoke getEncoded() if it is null. But the next test case demonstrates that null
value is passed to corresponding spi-provider's method. I've added this test case to :
modules/security/src/test/api/java/org/apache/harmony/security/tests/java/security/AlgorithmParametersTest.java

Could you let me know if you agree with the issue resolution? Also you may want to ask BouncyCastle
for theirs comments and add them to this JIRA

        //
        // test: if format param is null
        //
        paramSpi = new MyAlgorithmParameters() {
            protected byte[] engineGetEncoded(String format) throws IOException {
                assertNull(format); // null is passed to spi-provider
                return enc;
            }
        };

        params = new DummyAlgorithmParameters(paramSpi, p, "algorithm");
        params.init(new MyAlgorithmParameterSpec());
        assertSame(enc, params.getEncoded(null));

Thanks,
Stepan.

> [classlib][security]AlgorithmParameters.getEncoded(null) throws NullPointerException
on Harmony but not on RI.
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2680
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2680
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Leo Li
>         Assigned To: Stepan Mishura
>         Attachments: patch-2680.diff
>
>
> Here is the testcase:
> public void test_algorithmParameters_getEncoded() throws Exception
>     {
>         AlgorithmParameters algorithmParameters = AlgorithmParameters.getInstance("DSA");
>         algorithmParameters.init(new DSAParameterSpec(new BigInteger("23"), new BigInteger("19"),
new BigInteger("2")));
>         byte[] bytes1 = algorithmParameters.getEncoded(null);
>         byte[] bytes2 = algorithmParameters.getEncoded();
>         assertTrue(Arrays.equals(bytes1, bytes2));
>     }
> RI passes.
> Harmony fails.

-- 
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