| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * @author Vladimir N. Molotkov |
| * @version $Revision$ |
| */ |
| |
| package tests.security.spec; |
| |
| import junit.framework.TestCase; |
| |
| import java.security.spec.AlgorithmParameterSpec; |
| import java.security.spec.MGF1ParameterSpec; |
| import java.security.spec.PSSParameterSpec; |
| |
| /** |
| * Tests for <code>PSSParameterSpec</code> class (1.5) |
| * |
| */ |
| public class PSSParameterSpecTest extends TestCase { |
| |
| /** |
| * Test #1 for <code>PSSParameterSpec(int)</code> ctor<br> |
| * Assertion: constructs using valid parameter |
| * <code>PSSParameterSpec<code> object |
| */ |
| public final void testPSSParameterSpec0101() { |
| AlgorithmParameterSpec aps = new PSSParameterSpec(20); |
| assertTrue(aps instanceof PSSParameterSpec); |
| } |
| |
| /** |
| * Test #2 for <code>PSSParameterSpec(int)</code> ctor<br> |
| * Assertion: |
| * throws <code>IllegalArgumentException</code> |
| * if <code>saltLen</code> less than 0 |
| */ |
| public final void testPSSParameterSpec0102() { |
| try { |
| new PSSParameterSpec(-1); |
| fail("Expected IAE not thrown"); |
| } catch (IllegalArgumentException e) { |
| } |
| } |
| |
| /** |
| * Test #1 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: constructs using valid parameters |
| * <code>PSSParameterSpec<code> object |
| */ |
| public final void testPSSParameterSpec0201() { |
| AlgorithmParameterSpec aps = new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, 1); |
| assertTrue(aps instanceof PSSParameterSpec); |
| } |
| |
| /** |
| * Test #2 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: |
| * throws <code>NullPointerException</code> |
| * if <code>mdName</code> is null |
| */ |
| public final void testPSSParameterSpec0202() { |
| try { |
| new PSSParameterSpec(null, "MGF1", MGF1ParameterSpec.SHA1, 20, 1); |
| fail("Expected NPE not thrown"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /** |
| * Test #3 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: |
| * throws <code>NullPointerException</code> |
| * if <code>mgfName</code> is null |
| */ |
| public final void testPSSParameterSpec0203() { |
| try { |
| new PSSParameterSpec("SHA-1", null, MGF1ParameterSpec.SHA1, 20, 1); |
| fail("Expected NPE not thrown"); |
| } catch (NullPointerException e) { |
| } |
| } |
| |
| /** |
| * Test #4 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: |
| * throws <code>IllegalArgumentException<code> |
| * if <code>saltLen<code> less than 0 |
| */ |
| public final void testPSSParameterSpec0204() { |
| try { |
| new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, -20, 1); |
| fail("Expected IAE not thrown"); |
| } catch (IllegalArgumentException e) { |
| } |
| } |
| |
| /** |
| * Test #5 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: |
| * throws <code>IllegalArgumentException</code> |
| * if <code>trailerField</code> less than 0 |
| */ |
| public final void testPSSParameterSpec0205() { |
| try { |
| new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, -1); |
| fail("Expected IAE not thrown"); |
| } catch (IllegalArgumentException e) { |
| } |
| } |
| |
| /** |
| * Test #6 for |
| * <code> |
| * PSSParameterSpec(String,String,AlgorithmParameterSpec,int,int) |
| * </code> ctor<br> |
| * Assertion: <code>AlgorithmParameterSpec</code> can be null |
| * |
| */ |
| public final void testPSSParameterSpec0206() { |
| new PSSParameterSpec("SHA-1", "MGF1", null, 20, 1); |
| } |
| |
| /** |
| * Test for <code>getDigestAlgorithm()</code> method |
| * Assertion: returns message digest algorithm name |
| */ |
| public final void testGetDigestAlgorithm() { |
| PSSParameterSpec pssps = new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, 1); |
| assertEquals("SHA-1", pssps.getDigestAlgorithm()); |
| } |
| |
| /** |
| * Test for <code>getMGFAlgorithm()</code> method |
| * Assertion: returns mask generation function algorithm name |
| */ |
| public final void testGetMGFAlgorithm() { |
| PSSParameterSpec pssps = new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, 1); |
| assertEquals("MGF1", pssps.getMGFAlgorithm()); |
| } |
| |
| /** |
| * Test #1 for <code>getMGFParameters()</code> method |
| * Assertion: returns mask generation function parameters |
| */ |
| public final void testGetMGFParameters01() { |
| PSSParameterSpec pssps = new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, 1); |
| assertTrue(MGF1ParameterSpec.SHA1.equals(pssps.getMGFParameters())); |
| } |
| |
| /** |
| * Test #2 for <code>getMGFParameters()</code> method |
| * Assertion: returns <code>null</code> |
| * if <code>null</code> had been passed as |
| * AlgorithmParameterSpec parameter to the ctor |
| */ |
| public final void testGetMGFParameters02() { |
| PSSParameterSpec pssps = new PSSParameterSpec("SHA-1", "MGF1", |
| null, 20, 1); |
| assertNull(pssps.getMGFParameters()); |
| } |
| |
| |
| /** |
| * Test for <code>getSaltLength()</code> method<br> |
| * Assertion: returns salt length value |
| */ |
| public final void testGetSaltLength() { |
| PSSParameterSpec pssps = new PSSParameterSpec(20); |
| assertEquals(20, pssps.getSaltLength()); |
| } |
| |
| /** |
| * Test for <code>getTrailerField()</code> method<br> |
| * Assertion: returns trailer field value |
| */ |
| public final void testGetTrailerField() { |
| PSSParameterSpec pssps = new PSSParameterSpec("SHA-1", "MGF1", |
| MGF1ParameterSpec.SHA1, 20, 1); |
| assertEquals(1, pssps.getTrailerField()); |
| } |
| |
| /** |
| * Test for <code>DEFAULT</code> field<br> |
| * Assertion: default message digest algorithm name is "SHA-1" |
| */ |
| public final void testDEFAULTmdName() { |
| assertEquals("SHA-1", PSSParameterSpec.DEFAULT.getDigestAlgorithm()); |
| } |
| |
| /** |
| * Test for <code>DEFAULT</code> field<br> |
| * Assertion: default mask generation function algorithm name is "MGF1" |
| */ |
| public final void testDEFAULTmgfName() { |
| assertEquals("MGF1", PSSParameterSpec.DEFAULT.getMGFAlgorithm()); |
| } |
| |
| /** |
| * Test for <code>DEFAULT</code> field<br> |
| * Assertion: default algorithm parameters for mask |
| * generation function are <code>MGF1ParameterSpec.SHA1</code> |
| */ |
| public final void testDEFAULTmgfSpec() { |
| assertTrue(MGF1ParameterSpec.SHA1.equals(PSSParameterSpec.DEFAULT.getMGFParameters())); |
| } |
| |
| /** |
| * Test for <code>DEFAULT</code> field<br> |
| * Assertion: default salt length value is 20 |
| */ |
| public final void testDEFAULTsaltLen() { |
| assertEquals(20, PSSParameterSpec.DEFAULT.getSaltLength()); |
| } |
| |
| /** |
| * Test for <code>DEFAULT</code> field<br> |
| * Assertion: default trailer field value is 1 |
| */ |
| public final void testDEFAULTtrailerField() { |
| assertEquals(1, PSSParameterSpec.DEFAULT.getTrailerField()); |
| } |
| } |