diff options
Diffstat (limited to 'libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPUnicodeTest.java')
-rw-r--r-- | libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPUnicodeTest.java | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPUnicodeTest.java b/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPUnicodeTest.java deleted file mode 100644 index 27f9c2dea..000000000 --- a/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPUnicodeTest.java +++ /dev/null @@ -1,183 +0,0 @@ -package org.spongycastle.openpgp.test; - -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.math.BigInteger; -import java.nio.charset.Charset; -import java.security.Security; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.spongycastle.jce.provider.BouncyCastleProvider; -import org.spongycastle.openpgp.PGPException; -import org.spongycastle.openpgp.PGPPrivateKey; -import org.spongycastle.openpgp.PGPSecretKey; -import org.spongycastle.openpgp.PGPSecretKeyRing; -import org.spongycastle.openpgp.PGPSecretKeyRingCollection; -import org.spongycastle.openpgp.operator.PBESecretKeyDecryptor; -import org.spongycastle.openpgp.operator.PGPDigestCalculatorProvider; -import org.spongycastle.openpgp.operator.jcajce.JcaPGPDigestCalculatorProviderBuilder; -import org.spongycastle.openpgp.operator.jcajce.JcePBESecretKeyDecryptorBuilder; - -public class PGPUnicodeTest - extends TestCase -{ - private static final String TEST_DATA_HOME = "bc.test.data.home"; - - public void setUp() - { - if (Security.getProvider("SC") == null) - { - Security.addProvider(new org.spongycastle.jce.provider.BouncyCastleProvider()); - } - } - - public void test_key(BigInteger keyId, String passphrase) - throws Exception - { - - PGPSecretKeyRingCollection secretKeyRing = loadSecretKeyCollection("secring.gpg"); - - PGPSecretKeyRing secretKey = secretKeyRing.getSecretKeyRing(keyId.longValue()); - assertNotNull("Could not locate secret keyring with Id=" + keyId.toString(16), secretKey); - - PGPSecretKey key = secretKey.getSecretKey(); - assertNotNull("Could not locate secret key!", key); - - try - { - PGPDigestCalculatorProvider calcProvider = new JcaPGPDigestCalculatorProviderBuilder() - .setProvider(BouncyCastleProvider.PROVIDER_NAME).build(); - - PBESecretKeyDecryptor decryptor = new JcePBESecretKeyDecryptorBuilder(calcProvider) - .setProvider(BouncyCastleProvider.PROVIDER_NAME).build(passphrase.toCharArray()); - - PGPPrivateKey privateKey = key.extractPrivateKey(decryptor); - - assertTrue(privateKey.getKeyID() == keyId.longValue()); - - } - catch (PGPException e) - { - throw new PGPException("Password incorrect!", e); - } - - // all fine! - } - - public void test_UmlautPassphrase() - { - - try - { - BigInteger keyId = new BigInteger("362961283C48132B9F14C5C3EC87272EFCB986D2", 16); - - String passphrase = new String("Händle".getBytes("UTF-16"), "UTF-16"); -// FileInputStream passwordFile = new FileInputStream("testdata/passphrase_for_test.txt"); -// byte[] password = new byte[passwordFile.available()]; -// passwordFile.read(password); -// passwordFile.close(); -// String passphrase = new String(password); - - test_key(keyId, passphrase); - - // all fine! - - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); - } - } - - public void test_ASCIIPassphrase() - { - - try - { - BigInteger keyId = new BigInteger("A392B7310C64026022405257AA2AAAC7CB417459", 16); - - String passphrase = "Admin123"; - - test_key(keyId, passphrase); - - // all fine! - - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); - } - } - - public void test_CyrillicPassphrase() - { - - try - { - BigInteger keyId = new BigInteger("B7773AF32BE4EC1806B1BACC4680E7F3960C44E7", 16); - - // XXX The password text file must not have the UTF-8 BOM ! - // Ref: http://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8-without-bom - - FileInputStream passwordFile = new FileInputStream(getDataHome() + "passphrase_cyr.txt"); - Reader reader = new InputStreamReader(passwordFile, Charset.forName("UTF-8")); - BufferedReader in = new BufferedReader(reader); - String passphrase = in.readLine(); - in.close(); - passwordFile.close(); - - test_key(keyId, passphrase); - - // all fine! - - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); - } - } - - private PGPSecretKeyRingCollection loadSecretKeyCollection( - String keyName) - throws Exception - { - FileInputStream fIn = new FileInputStream(getDataHome() + keyName); - - return new PGPSecretKeyRingCollection(fIn); - } - - private String getDataHome() - { - String dataHome = System.getProperty(TEST_DATA_HOME); - - if (dataHome == null) - { - throw new IllegalStateException(TEST_DATA_HOME + " property not set"); - } - - return dataHome + "/openpgp/unicode/"; - } - - public static void main (String[] args) - throws Exception - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - throws Exception - { - TestSuite suite = new TestSuite("Unicode Password tests"); - - suite.addTestSuite(PGPUnicodeTest.class); - - return suite; - } -} |