summaryrefslogtreecommitdiff
path: root/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java')
-rw-r--r--security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java391
1 files changed, 0 insertions, 391 deletions
diff --git a/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java b/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java
deleted file mode 100644
index b13a12c..0000000
--- a/security/src/test/api/java/org/apache/harmony/security/tests/java/security/KeyStoreTest.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
- * 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 Vera Y. Petrashkova
- */
-
-package org.apache.harmony.security.tests.java.security;
-
-import java.io.IOException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.Provider;
-import java.security.Security;
-import java.security.SignatureException;
-import java.security.Principal;
-import java.security.PublicKey;
-import java.security.InvalidKeyException;
-import java.security.NoSuchProviderException;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateEncodingException;
-import java.security.cert.CertificateExpiredException;
-import java.security.cert.CertificateNotYetValidException;
-import java.security.cert.X509Certificate;
-import java.util.Date;
-import java.util.Set;
-import java.math.BigInteger;
-
-import javax.crypto.KeyGenerator;
-import javax.crypto.SecretKey;
-
-import org.apache.harmony.security.tests.support.KeyStoreTestSupport;
-import org.apache.harmony.security.tests.support.MyLoadStoreParams;
-import org.apache.harmony.security.tests.support.SpiEngUtils;
-
-import junit.framework.TestCase;
-
-/**
- * Tests for <code>KeyStore</code> constructor and methods
- */
-
-public class KeyStoreTest extends TestCase {
-
- private static final String KeyStoreProviderClass = "org.apache.harmony.security.tests.support.MyKeyStore";
-
- private static final String defaultType = "KeyStore";
-
- public static boolean KSSupported = false;
-
- public static String defaultProviderName = null;
-
- public static Provider defaultProvider = null;
-
- private static String NotSupportMsg = "Default KeyStore type is not supported";
-
- Provider mProv;
-
- public KeyStore[] createKS() throws Exception {
- assertTrue(NotSupportMsg, KSSupported);
- KeyStore[] kpg = new KeyStore[3];
-
- kpg[0] = KeyStore.getInstance(defaultType);
- kpg[1] = KeyStore.getInstance(defaultType, defaultProvider);
- kpg[2] = KeyStore.getInstance(defaultType, defaultProviderName);
- return kpg;
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- mProv = (new SpiEngUtils()).new MyProvider("MyKSProvider",
- "Testing provider", KeyStoreTestSupport.srvKeyStore.concat(".")
- .concat(defaultType), KeyStoreProviderClass);
- Security.insertProviderAt(mProv, 2);
- defaultProvider = SpiEngUtils.isSupport(defaultType,
- KeyStoreTestSupport.srvKeyStore);
- KSSupported = (defaultProvider != null);
- defaultProviderName = (KSSupported ? defaultProvider.getName() : null);
- }
-
- /*
- * @see TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- Security.removeProvider(mProv.getName());
- }
-
- /**
- * Test for <code>load(LoadStoreParameter param)</code>
- * <code>store(LoadStoreParameter param)</code>
- * methods
- * Assertions: throw IllegalArgumentException if param is null;
- */
- public void testLoadStore02() throws Exception {
- assertTrue(NotSupportMsg, KSSupported);
-
- KeyStore[] kss = createKS();
- assertNotNull("KeyStore objects were not created", kss);
-
- for (int i = 0; i < kss.length; i++) {
- try {
- kss[i].load(null);
- fail("IOException or IllegalArgumentException should be thrown for null parameter");
- } catch (IOException e) {
- } catch (IllegalArgumentException e) {
- }
- kss[i].load(null, null);
- try {
- kss[i].store(null);
- fail("IOException or IllegalArgumentException should be thrown for null parameter");
- } catch (IOException e) {
- } catch (IllegalArgumentException e) {
- }
- }
- KeyStore.LoadStoreParameter lParam = new MyLoadStoreParams(
- new KeyStore.PasswordProtection(new char[0]));
- for (int i = 0; i < kss.length; i++) {
- kss[i].load(lParam);
- assertEquals("Incorrect result", kss[i].size(), 0);
- kss[i].store(lParam);
- }
- }
-
-
- /**
- * Test for <code>setKeyEntry(String alias, byte[] key, Certificate[] chain)</code>
- * method
- * Assertion: stores KeyEntry.
- */
- public void testSetKeyEntry() throws Exception {
- assertTrue(NotSupportMsg, KSSupported);
-
- KeyStore[] kss = createKS();
- assertNotNull("KeyStore objects were not created", kss);
- byte[] kk = { (byte) 1, (byte) 2, (byte) 127, (byte) 77 };
- String alias = "keyEntry";
- char[] pwd = new char[0];
- byte[] res;
- Certificate certs[] = {
- new KeyStoreTestSupport.MCertificate(alias, kk),
- new KeyStoreTestSupport.MCertificate(alias, kk) };
- for (int i = 0; i < kss.length; i++) {
- kss[i].load(null, null);
- try {
- kss[i].setKeyEntry("proba", null, null);
- fail("KeyStoreException must be thrown");
- } catch (KeyStoreException e) {
- }
- kss[i].setKeyEntry(alias, kk, certs);
- res = kss[i].getKey(alias, pwd).getEncoded();
- assertEquals(kk.length, res.length);
- for (int j = 0; j < res.length; j++) {
- assertEquals(res[j], kk[j]);
- }
- assertEquals(kss[i].getCertificateChain(alias).length, certs.length);
- kss[i].setKeyEntry(alias, kk, null);
- res = kss[i].getKey(alias, pwd).getEncoded();
- assertEquals(kk.length, res.length);
- for (int j = 0; j < res.length; j++) {
- assertEquals(res[j], kk[j]);
- }
- assertNull(kss[i].getCertificateChain(alias));
- }
- }
-
- /**
- * Test for <code>getDefaultType()</code> method Assertion: returns
- * default security key store type or "jks" string
- */
- public void testKeyStore01() {
- String propName = "keystore.type";
- String defKSType = Security.getProperty(propName);
- String dType = KeyStore.getDefaultType();
- String resType = defKSType;
- if (resType == null) {
- resType = defaultType;
- }
- assertNotNull("Default type have not be null", dType);
- assertEquals("Incorrect default type", dType, resType);
-
- if (defKSType == null) {
- Security.setProperty(propName, defaultType);
- dType = KeyStore.getDefaultType();
- resType = Security.getProperty(propName);
- assertNotNull("Incorrect default type", resType);
- assertNotNull("Default type have not be null", dType);
- assertEquals("Incorrect default type", dType, resType);
- }
- }
-
- /**
- * Test for <code>getInstance(String type)</code> method
- * Assertion:
- * throws NullPointerException when type is null
- * throws KeyStoreException when type is not available
- */
- public void testKeyStore02() throws KeyStoreException {
- String[] invalidValues = SpiEngUtils.invalidValues;
- try {
- KeyStore.getInstance(null);
- fail("NullPointerException must be thrown when type is null");
- } catch (NullPointerException e) {
- }
- for (int i = 0; i < invalidValues.length; i++) {
- try {
- KeyStore.getInstance(invalidValues[i]);
- fail("KeyStoreException must be thrown (type: ".concat(
- invalidValues[i]).concat(" )"));
- } catch (KeyStoreException e) {
- }
- }
- }
-
- public void testKeyStorePPGetPassword() {
- // Regression for HARMONY-1539
- // no exception expected
- assertNull(new KeyStore.PasswordProtection(null).getPassword());
- char[] password = new char[] { 'a', 'b', 'c' };
- KeyStore.PasswordProtection pp = new KeyStore.PasswordProtection(password);
- assertNotSame(pp.getPassword(), password);
- assertSame(pp.getPassword(), pp.getPassword());
-
- }
-
-
- /*
- * @tests java.security.KeyStoreSpi.engineEntryInstanceOf(String, Class<? extends Entry>)
- */
- public void testEngineEntryInstanceOf() throws Exception {
- //Regression for HARMONY-615
-
- // create a KeyStore
- KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
- keyStore.load(null, "pwd".toCharArray());
-
- // generate a key
- KeyGenerator keyGen = KeyGenerator.getInstance("DES");
- keyGen.init(56);
- SecretKey secretKey = keyGen.generateKey();
-
- // put the key into keystore
- String alias = "alias";
- keyStore.setKeyEntry(alias, secretKey, "pwd".toCharArray(), null);
-
- // check if it is a secret key
- assertTrue(keyStore.entryInstanceOf(alias,
- KeyStore.SecretKeyEntry.class));
-
- // check if it is NOT a private key
- assertFalse(keyStore.entryInstanceOf(alias,
- KeyStore.PrivateKeyEntry.class));
- }
-
- /**
- * @tests java.security.KeyStore.TrustedCertificateEntry.toString()
- */
- public void testKeyStoreTCToString() {
- // Regression for HARMONY-1542
- // no exception expected
- class TestX509Certificate extends X509Certificate {
- private static final long serialVersionUID = 1L;
-
- public void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException {
- }
-
- public void checkValidity(Date p) throws CertificateExpiredException, CertificateNotYetValidException {
- }
-
- public int getVersion() {
- return 0;
- }
-
- public BigInteger getSerialNumber() {
- return null;
- }
-
- public Principal getIssuerDN() {
- return null;
- }
-
- public Principal getSubjectDN() {
- return null;
- }
-
- public Date getNotBefore() {
- return null;
- }
-
- public Date getNotAfter() {
- return null;
- }
-
- public byte[] getTBSCertificate() throws CertificateEncodingException {
- return null;
- }
-
- public byte[] getSignature() {
- return null;
- }
-
- public String getSigAlgName() {
- return null;
- }
-
- public String getSigAlgOID() {
- return null;
- }
-
- public byte[] getSigAlgParams() {
- return null;
- }
-
- public boolean[] getIssuerUniqueID() {
- return null;
- }
-
- public boolean[] getSubjectUniqueID() {
- return null;
- }
-
- public boolean[] getKeyUsage() {
- return null;
- }
-
- public int getBasicConstraints() {
- return 0;
- }
-
- public byte[] getEncoded() throws CertificateEncodingException {
- return null;
- }
-
- public void verify(PublicKey p)
- throws CertificateException,
- NoSuchAlgorithmException,
- InvalidKeyException,
- NoSuchProviderException,
- SignatureException {
- }
-
- public void verify(PublicKey p0, String p1)
- throws CertificateException,
- NoSuchAlgorithmException,
- InvalidKeyException,
- NoSuchProviderException,
- SignatureException {
- }
-
- public String toString() {
- return null;
- }
-
- public PublicKey getPublicKey() {
- return null;
- }
-
- public boolean hasUnsupportedCriticalExtension() {
- return false;
- }
-
- public Set getCriticalExtensionOIDs() {
- return null;
- }
-
- public Set getNonCriticalExtensionOIDs() {
- return null;
- }
-
- public byte[] getExtensionValue(String p) {
- return null;
- }
- }
- assertNotNull(new KeyStore.TrustedCertificateEntry(new TestX509Certificate()).toString());
- }
-}