/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.utils.encryption;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.security.Key;
import org.junit.Test;
import de.rcenvironment.core.utils.encryption.EncryptionFactory.KeyBasedEncryptionAlgorithm;
import de.rcenvironment.core.utils.encryption.EncryptionFactory.PassphraseBasedEncryptionAlgorithm;
/**
* Tests for the whole rcenvironment.cor.utils.encryption package.
*
* @author Sascha Zur
*/
public class EncryptionTest {
private static final String TEST_TEXT = "hallo";
private static final String PASSPHRASE = "test";
/**
* Test.
*/
@Test
public void testPassphraseBasedEncryptAndDecrypt() {
EncryptionFactory factory = new EncryptionFactory();
for (PassphraseBasedEncryptionAlgorithm algorithm : PassphraseBasedEncryptionAlgorithm.values()) {
PassphraseBasedEncryption encryption = factory.createPassphraseBasedEncryption(algorithm);
String encryptedText = encryption.encrypt(TEST_TEXT, PASSPHRASE);
String decryptedText = encryption.decrypt(encryptedText, PASSPHRASE);
assertFalse(encryptedText.equals(TEST_TEXT));
assertTrue(decryptedText.equals(TEST_TEXT));
}
}
/**
* Test.
*/
@Test
public void testKeyBasedEncryptAndDecrypt() {
EncryptionFactory factory = new EncryptionFactory();
for (KeyBasedEncryptionAlgorithm algorithm : KeyBasedEncryptionAlgorithm.values()) {
Key[] keyPair = new KeyPairFactory().createKeyPair(algorithm);
KeyBasedEncryption encryption = factory.createKeyBasedEncryption(algorithm);
String encryptedText = encryption.encrypt(TEST_TEXT, keyPair[1]);
String decryptedText = encryption.decrypt(encryptedText, keyPair[0]);
assertFalse(encryptedText.equals(TEST_TEXT));
assertTrue(decryptedText.equals(TEST_TEXT));
}
}
}