/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.login;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.cert.X509Certificate;
import org.globus.gsi.CertUtil;
import de.rcenvironment.core.utils.common.TempFileServiceAccess;
/**
* Constants for test setups.
*
* @author Doreen Seider
* @author Robert Mischke (merged key constants; changed to resource loading; javadoc)
*/
public final class LoginTestConstants {
/**
* Bundle name.
*/
public static final String BUNDLE_SYMBOLIC_NAME = "de.rcenvironment.rce.login";
/**
* Full path of user 1 cert.
*/
public static final String USER_1_CERTIFICATE_FILENAME;
/**
* Full path of user 1 key.
*/
public static final String USER_1_KEY_FILENAME;
/**
* Full path of user 2 cert.
*/
public static final String USER_2_CERTIFICATE_FILENAME;
/**
* Full path of user 2 key.
*/
public static final String USER_2_KEY_FILENAME;
/**
* User 1 cert object.
*/
public static final X509Certificate USER_1_CERTIFICATE;
/**
* User 2 cert object.
*/
public static final X509Certificate USER_2_CERTIFICATE;
private static final String USER_1_CERT_PATH = "/usercert_rainertester.pem";
private static final String USER_1_KEY_PATH = "/userkey_rainertester.pem";
private static final String USER_2_CERT_PATH = "/usercert_rainerhacker.pem";
private static final String USER_2_KEY_PATH = "/userkey_rainerhacker.pem";
static {
TempFileServiceAccess.setupUnitTestEnvironment();
try {
USER_1_CERTIFICATE_FILENAME = createTempFilenameFromResource(USER_1_CERT_PATH);
USER_1_KEY_FILENAME = createTempFilenameFromResource(USER_1_KEY_PATH);
USER_1_CERTIFICATE = loadCertificateFromFilename(USER_1_CERTIFICATE_FILENAME);
USER_2_CERTIFICATE_FILENAME = createTempFilenameFromResource(USER_2_CERT_PATH);
USER_2_KEY_FILENAME = createTempFilenameFromResource(USER_2_KEY_PATH);
USER_2_CERTIFICATE = loadCertificateFromFilename(USER_2_CERTIFICATE_FILENAME);
} catch (GeneralSecurityException e) {
throw new RuntimeException("Error initializting test certificates", e);
} catch (IOException e) {
throw new RuntimeException("Error initializting test certificates", e);
}
}
/**
* Private constructor.
*/
private LoginTestConstants() {}
private static String createTempFilenameFromResource(String resourcePath) throws IOException {
File tempFile =
TempFileServiceAccess.getInstance().writeInputStreamToTempFile(LoginTestConstants.class.getResourceAsStream(resourcePath));
return tempFile.getAbsolutePath();
}
private static X509Certificate loadCertificateFromFilename(String filename) throws IOException, GeneralSecurityException,
FileNotFoundException {
return CertUtil.loadCertificate(filename);
}
}