Home | History | Annotate | Download | only in interfaces
      1 /*
      2  *  Licensed to the Apache Software Foundation (ASF) under one or more
      3  *  contributor license agreements.  See the NOTICE file distributed with
      4  *  this work for additional information regarding copyright ownership.
      5  *  The ASF licenses this file to You under the Apache License, Version 2.0
      6  *  (the "License"); you may not use this file except in compliance with
      7  *  the License.  You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  */
     17 
     18 /**
     19 * @author Vera Y. Petrashkova
     20 * @version $Revision$
     21 */
     22 
     23 package org.apache.harmony.crypto.tests.javax.crypto.interfaces;
     24 
     25 import java.math.BigInteger;
     26 import java.security.KeyPair;
     27 import java.security.KeyPairGenerator;
     28 
     29 import javax.crypto.interfaces.DHKey;
     30 import javax.crypto.interfaces.DHPrivateKey;
     31 import javax.crypto.spec.DHParameterSpec;
     32 
     33 import junit.framework.TestCase;
     34 
     35 /**
     36  * Tests for <code>DHPrivateKey</code> class field
     37  *
     38  */
     39 public class DHPrivateKeyTest extends TestCase {
     40 
     41     /**
     42      * Test for <code>serialVersionUID</code> field
     43      */
     44     public void testField() {
     45         checkDHPrivateKey key = new checkDHPrivateKey();
     46         assertEquals("Incorrect serialVersionUID",
     47                 key.getSerVerUID(), //DHPrivateKey.serialVersionUID
     48                 2211791113380396553L);
     49     }
     50 
     51     public void test_getParams() throws Exception {
     52         KeyPairGenerator kg = KeyPairGenerator.getInstance("DH");
     53         kg.initialize(192);
     54         KeyPair kp1 = kg.genKeyPair();
     55         KeyPair kp2 = kg.genKeyPair();
     56         DHPrivateKey pk1 = (DHPrivateKey) kp1.getPrivate();
     57         DHPrivateKey pk2 = (DHPrivateKey) kp2.getPrivate();
     58 
     59         assertTrue(pk1.getX().getClass().getCanonicalName().equals("java.math.BigInteger"));
     60         assertTrue(pk1.getParams().getClass().getCanonicalName().equals("javax.crypto.spec.DHParameterSpec"));
     61         assertFalse(pk1.equals(pk2));
     62         assertTrue(pk1.getX().equals(pk1.getX()));
     63     }
     64 
     65     public class checkDHPrivateKey implements DHPrivateKey {
     66         public String getAlgorithm() {
     67             return "SecretKey";
     68         }
     69         public String getFormat() {
     70             return "Format";
     71         }
     72         public byte[] getEncoded() {
     73             return new byte[0];
     74         }
     75         public long getSerVerUID() {
     76             return serialVersionUID;
     77         }
     78         public BigInteger getX() {
     79             return null;
     80         }
     81         public DHParameterSpec getParams() {
     82             return null;
     83         }
     84     }
     85 }
     86