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 18package org.apache.harmony.security.tests.provider.crypto; 19 20import java.security.KeyFactory; 21import java.security.MessageDigest; 22import java.security.NoSuchAlgorithmException; 23import java.security.NoSuchProviderException; 24import java.security.SecureRandom; 25import java.security.Signature; 26 27import junit.framework.Test; 28import junit.framework.TestCase; 29import junit.framework.TestSuite; 30 31/** 32 * Tests against CryptoProvider. 33 */ 34public class CryptoProviderTest extends TestCase { 35 36 private static final String providerName = "Crypto"; // name of provider 37 private static final String shaprng = "SHA1PRNG"; // name of algorithm 38 private static final String sha_1 = "SHA-1"; // name of algorithm 39 private static final String sha_1_alias = "SHA1"; // alias name 40 private static final String sha_1_alias2 = "SHA"; // alias name 41 42 private static final String dsaNames[] = { "SHA1withDSA", 43 "SHAwithDSA", 44 "DSAwithSHA1", 45 "SHA1/DSA", 46 "SHA/DSA", 47 "SHA-1/DSA", 48 "DSA", 49 "DSS", 50 "OID.1.2.840.10040.4.3", 51 "1.2.840.10040.4.3", 52 "1.3.14.3.2.13", 53 "1.3.14.3.2.27" }; 54 55 private static final String keyFactoryNames[] = { "DSA", 56 "1.3.14.3.2.12", 57 "1.2.840.10040.4.1" }; 58 59 /** 60 * Test against CryptoProvider() methods. 61 */ 62 public void testCrypto() throws NoSuchAlgorithmException, NoSuchProviderException { 63 SecureRandom sr; 64 MessageDigest md; 65 Signature sign; 66 KeyFactory keyFactory; 67 68 sr = SecureRandom.getInstance(shaprng, providerName); 69 70 md = MessageDigest.getInstance(sha_1, providerName); 71 md = MessageDigest.getInstance(sha_1_alias, providerName); 72 md = MessageDigest.getInstance(sha_1_alias2, providerName); 73 74 for ( int i = 0; i < dsaNames.length; i++ ) { 75 sign = Signature.getInstance(dsaNames[i], providerName); 76 } 77 78 for ( int i = 0; i < keyFactoryNames.length; i++ ) { 79 keyFactory = KeyFactory.getInstance(keyFactoryNames[i], providerName); 80 } 81 } 82 83 84 public static Test suite() { 85 return new TestSuite(CryptoProviderTest.class); 86 } 87 88 } 89