diff options
Diffstat (limited to 'pg/src/test/java/org/bouncycastle/openpgp/examples/test/AllTests.java')
-rw-r--r-- | pg/src/test/java/org/bouncycastle/openpgp/examples/test/AllTests.java | 415 |
1 files changed, 0 insertions, 415 deletions
diff --git a/pg/src/test/java/org/bouncycastle/openpgp/examples/test/AllTests.java b/pg/src/test/java/org/bouncycastle/openpgp/examples/test/AllTests.java deleted file mode 100644 index f44d3724..00000000 --- a/pg/src/test/java/org/bouncycastle/openpgp/examples/test/AllTests.java +++ /dev/null @@ -1,415 +0,0 @@ -package org.bouncycastle.openpgp.examples.test; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; -import org.bouncycastle.openpgp.examples.ClearSignedFileProcessor; -import org.bouncycastle.openpgp.examples.DSAElGamalKeyRingGenerator; -import org.bouncycastle.openpgp.examples.KeyBasedFileProcessor; -import org.bouncycastle.openpgp.examples.KeyBasedLargeFileProcessor; -import org.bouncycastle.openpgp.examples.PBEFileProcessor; -import org.bouncycastle.openpgp.examples.RSAKeyPairGenerator; -import org.bouncycastle.openpgp.examples.SignedFileProcessor; -import org.bouncycastle.util.encoders.Base64; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintStream; - -public class AllTests - extends TestCase -{ - byte[] clearSignedPublicKey = Base64.decode( - "mQELBEQh2+wBCAD26kte0hO6flr7Y2aetpPYutHY4qsmDPy+GwmmqVeCDkX+" - + "r1g7DuFbMhVeu0NkKDnVl7GsJ9VarYsFYyqu0NzLa9XS2qlTIkmJV+2/xKa1" - + "tzjn18fT/cnAWL88ZLCOWUr241aPVhLuIc6vpHnySpEMkCh4rvMaimnTrKwO" - + "42kgeDGd5cXfs4J4ovRcTbc4hmU2BRVsRjiYMZWWx0kkyL2zDVyaJSs4yVX7" - + "Jm4/LSR1uC/wDT0IJJuZT/gQPCMJNMEsVCziRgYkAxQK3OWojPSuv4rXpyd4" - + "Gvo6IbvyTgIskfpSkCnQtORNLIudQSuK7pW+LkL62N+ohuKdMvdxauOnAAYp" - + "tBNnZ2dnZ2dnZyA8Z2dnQGdnZ2c+iQE2BBMBAgAgBQJEIdvsAhsDBgsJCAcD" - + "AgQVAggDBBYCAwECHgECF4AACgkQ4M/Ier3f9xagdAf/fbKWBjLQM8xR7JkR" - + "P4ri8YKOQPhK+VrddGUD59/wzVnvaGyl9MZE7TXFUeniQq5iXKnm22EQbYch" - + "v2Jcxyt2H9yptpzyh4tP6tEHl1C887p2J4qe7F2ATua9CzVGwXQSUbKtj2fg" - + "UZP5SsNp25guhPiZdtkf2sHMeiotmykFErzqGMrvOAUThrO63GiYsRk4hF6r" - + "cQ01d+EUVpY/sBcCxgNyOiB7a84sDtrxnX5BTEZDTEj8LvuEyEV3TMUuAjx1" - + "7Eyd+9JtKzwV4v3hlTaWOvGro9nPS7YaPuG+RtufzXCUJPbPfTjTvtGOqvEz" - + "oztls8tuWA0OGHba9XfX9rfgorACAAM="); - - String crOnlyMessage = - "\r" - + " hello world!\r" - + "\r" - + "- dash\r"; - - String nlOnlyMessage = - "\n" - + " hello world!\n" - + "\n" - + "- dash\n"; - - String crNlMessage = - "\r\n" - + " hello world!\r\n" - + "\r\n" - + "- dash\r\n"; - - String crNlMessageTrailingWhiteSpace = - "\r\n" - + " hello world! \t\r\n" - + "\r\n" - + "\r\n"; - - String crOnlySignedMessage = - "-----BEGIN PGP SIGNED MESSAGE-----\r" - + "Hash: SHA256\r" - + "\r" - + "\r" - + " hello world!\r" - + "\r" - + "- - dash\r" - + "-----BEGIN PGP SIGNATURE-----\r" - + "Version: GnuPG v1.4.2.1 (GNU/Linux)\r" - + "\r" - + "iQEVAwUBRCNS8+DPyHq93/cWAQi6SwgAj3ItmSLr/sd/ixAQLW7/12jzEjfNmFDt\r" - + "WOZpJFmXj0fnMzTrOILVnbxHv2Ru+U8Y1K6nhzFSR7d28n31/XGgFtdohDEaFJpx\r" - + "Fl+KvASKIonnpEDjFJsPIvT1/G/eCPalwO9IuxaIthmKj0z44SO1VQtmNKxdLAfK\r" - + "+xTnXGawXS1WUE4CQGPM45mIGSqXcYrLtJkAg3jtRa8YRUn2d7b2BtmWH+jVaVuC\r" - + "hNrXYv7iHFOu25yRWhUQJisvdC13D/gKIPRvARXPgPhAC2kovIy6VS8tDoyG6Hm5\r" - + "dMgLEGhmqsgaetVq1ZIuBZj5S4j2apBJCDpF6GBfpBOfwIZs0Tpmlw==\r" - + "=84Nd\r" - + "-----END PGP SIGNATURE-----\r"; - - - String nlOnlySignedMessage = - "-----BEGIN PGP SIGNED MESSAGE-----\n" - + "Hash: SHA256\n" - + "\n" - + "\n" - + " hello world!\n" - + "\n" - + "- - dash\n" - + "-----BEGIN PGP SIGNATURE-----\n" - + "Version: GnuPG v1.4.2.1 (GNU/Linux)\n" - + "\n" - + "iQEVAwUBRCNS8+DPyHq93/cWAQi6SwgAj3ItmSLr/sd/ixAQLW7/12jzEjfNmFDt\n" - + "WOZpJFmXj0fnMzTrOILVnbxHv2Ru+U8Y1K6nhzFSR7d28n31/XGgFtdohDEaFJpx\n" - + "Fl+KvASKIonnpEDjFJsPIvT1/G/eCPalwO9IuxaIthmKj0z44SO1VQtmNKxdLAfK\n" - + "+xTnXGawXS1WUE4CQGPM45mIGSqXcYrLtJkAg3jtRa8YRUn2d7b2BtmWH+jVaVuC\n" - + "hNrXYv7iHFOu25yRWhUQJisvdC13D/gKIPRvARXPgPhAC2kovIy6VS8tDoyG6Hm5\n" - + "dMgLEGhmqsgaetVq1ZIuBZj5S4j2apBJCDpF6GBfpBOfwIZs0Tpmlw==\n" - + "=84Nd\n" - + "-----END PGP SIGNATURE-----\n"; - - String crNlSignedMessage = - "-----BEGIN PGP SIGNED MESSAGE-----\r\n" - + "Hash: SHA256\r\n" - + "\r\n" - + "\r\n" - + " hello world!\r\n" - + "\r\n" - + "- - dash\r\n" - + "-----BEGIN PGP SIGNATURE-----\r\n" - + "Version: GnuPG v1.4.2.1 (GNU/Linux)\r\n" - + "\r\n" - + "iQEVAwUBRCNS8+DPyHq93/cWAQi6SwgAj3ItmSLr/sd/ixAQLW7/12jzEjfNmFDt\r\n" - + "WOZpJFmXj0fnMzTrOILVnbxHv2Ru+U8Y1K6nhzFSR7d28n31/XGgFtdohDEaFJpx\r\n" - + "Fl+KvASKIonnpEDjFJsPIvT1/G/eCPalwO9IuxaIthmKj0z44SO1VQtmNKxdLAfK\r\n" - + "+xTnXGawXS1WUE4CQGPM45mIGSqXcYrLtJkAg3jtRa8YRUn2d7b2BtmWH+jVaVuC\r\n" - + "hNrXYv7iHFOu25yRWhUQJisvdC13D/gKIPRvARXPgPhAC2kovIy6VS8tDoyG6Hm5\r\n" - + "dMgLEGhmqsgaetVq1ZIuBZj5S4j2apBJCDpF6GBfpBOfwIZs0Tpmlw==\r\n" - + "=84Nd\r" - + "-----END PGP SIGNATURE-----\r\n"; - - String crNlSignedMessageTrailingWhiteSpace = - "-----BEGIN PGP SIGNED MESSAGE-----\r\n" - + "Hash: SHA256\r\n" - + "\r\n" - + "\r\n" - + " hello world! \t\r\n" - + "\r\n" - + "- - dash\r\n" - + "-----BEGIN PGP SIGNATURE-----\r\n" - + "Version: GnuPG v1.4.2.1 (GNU/Linux)\r\n" - + "\r\n" - + "iQEVAwUBRCNS8+DPyHq93/cWAQi6SwgAj3ItmSLr/sd/ixAQLW7/12jzEjfNmFDt\r\n" - + "WOZpJFmXj0fnMzTrOILVnbxHv2Ru+U8Y1K6nhzFSR7d28n31/XGgFtdohDEaFJpx\r\n" - + "Fl+KvASKIonnpEDjFJsPIvT1/G/eCPalwO9IuxaIthmKj0z44SO1VQtmNKxdLAfK\r\n" - + "+xTnXGawXS1WUE4CQGPM45mIGSqXcYrLtJkAg3jtRa8YRUn2d7b2BtmWH+jVaVuC\r\n" - + "hNrXYv7iHFOu25yRWhUQJisvdC13D/gKIPRvARXPgPhAC2kovIy6VS8tDoyG6Hm5\r\n" - + "dMgLEGhmqsgaetVq1ZIuBZj5S4j2apBJCDpF6GBfpBOfwIZs0Tpmlw==\r\n" - + "=84Nd\r" - + "-----END PGP SIGNATURE-----\r\n"; - - private PrintStream _oldOut; - private PrintStream _oldErr; - - private ByteArrayOutputStream _currentOut; - private ByteArrayOutputStream _currentErr; - - public void setUp() - throws Exception - { - _oldOut = System.out; - _oldErr = System.err; - _currentOut = new ByteArrayOutputStream(); - _currentErr = new ByteArrayOutputStream(); - - System.setOut(new PrintStream(_currentOut)); - System.setErr(new PrintStream(_currentErr)); - } - - public void tearDown() - { - System.setOut(_oldOut); - System.setErr(_oldErr); - } - - public void testRSAKeyGeneration() - throws Exception - { - RSAKeyPairGenerator.main(new String[] { "test", "password" }); - - createSmallTestInput(); - createLargeTestInput(); - - checkSigning("bpg"); - checkKeyBasedEncryption("bpg"); - checkLargeKeyBasedEncryption("bpg"); - - RSAKeyPairGenerator.main(new String[] { "-a", "test", "password" }); - - checkSigning("asc"); - checkKeyBasedEncryption("asc"); - checkLargeKeyBasedEncryption("asc"); - } - - public void testDSAElGamaleKeyGeneration() - throws Exception - { - DSAElGamalKeyRingGenerator.main(new String[] { "test", "password" }); - - createSmallTestInput(); - createLargeTestInput(); - - checkSigning("bpg"); - checkKeyBasedEncryption("bpg"); - checkLargeKeyBasedEncryption("bpg"); - - DSAElGamalKeyRingGenerator.main(new String[] { "-a", "test", "password" }); - - checkSigning("asc"); - checkKeyBasedEncryption("asc"); - checkLargeKeyBasedEncryption("asc"); - } - - public void testPBEEncryption() - throws Exception - { - _currentErr.reset(); - - PBEFileProcessor.main(new String[] { "-e", "test.txt", "password" }); - - PBEFileProcessor.main(new String[] { "-d", "test.txt.bpg", "password" }); - - assertEquals("no message integrity check", getLine(_currentErr)); - - PBEFileProcessor.main(new String[] { "-e", "-i", "test.txt", "password" }); - - PBEFileProcessor.main(new String[] { "-d", "test.txt.bpg", "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - - PBEFileProcessor.main(new String[] { "-e", "-ai", "test.txt", "password" }); - - PBEFileProcessor.main(new String[] { "-d", "test.txt.asc", "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - } - - public void testClearSigned() - throws Exception - { - createTestFile(clearSignedPublicKey, "pub.bpg"); - - checkClearSignedVerify(nlOnlySignedMessage); - checkClearSignedVerify(crOnlySignedMessage); - checkClearSignedVerify(crNlSignedMessage); - checkClearSignedVerify(crNlSignedMessageTrailingWhiteSpace); - - ClearSignedFileProcessor.main(new String[] { "-v", "test.txt.asc", "pub.bpg" }); - - RSAKeyPairGenerator.main(new String[] { "test", "password" }); - - checkClearSigned(crOnlyMessage); - checkClearSigned(nlOnlyMessage); - checkClearSigned(crNlMessage); - checkClearSigned(crNlMessageTrailingWhiteSpace); - } - - public void testClearSignedBogusInput() - throws Exception - { - createTestFile(clearSignedPublicKey, "test.txt"); - - ClearSignedFileProcessor.main(new String[] { "-s", "test.txt", "secret.bpg", "password" }); - } - - private void checkClearSignedVerify(String message) - throws Exception - { - createTestData(message, "test.txt.asc"); - - ClearSignedFileProcessor.main(new String[] { "-v", "test.txt.asc", "pub.bpg" }); - } - - private void checkClearSigned(String message) - throws Exception - { - createTestData(message, "test.txt"); - - ClearSignedFileProcessor.main(new String[] { "-s", "test.txt", "secret.bpg", "password" }); - ClearSignedFileProcessor.main(new String[] { "-v", "test.txt.asc", "pub.bpg" }); - } - - private void checkSigning(String type) - throws Exception - { - _currentOut.reset(); - - SignedFileProcessor.main(new String[] { "-s", "test.txt", "secret." + type, "password" }); - - SignedFileProcessor.main(new String[] { "-v", "test.txt.bpg", "pub." + type }); - - assertEquals("signature verified.", getLine(_currentOut)); - - SignedFileProcessor.main(new String[] { "-s", "-a", "test.txt", "secret." + type, "password" }); - - SignedFileProcessor.main(new String[] { "-v", "test.txt.asc", "pub." + type }); - - assertEquals("signature verified.", getLine(_currentOut)); - } - - private void checkKeyBasedEncryption(String type) - throws Exception - { - _currentErr.reset(); - - KeyBasedFileProcessor.main(new String[] { "-e", "test.txt", "pub." + type }); - - KeyBasedFileProcessor.main(new String[] { "-d", "test.txt.bpg", "secret." + type, "password" }); - - assertEquals("no message integrity check", getLine(_currentErr)); - - KeyBasedFileProcessor.main(new String[] { "-e", "-i", "test.txt", "pub." + type }); - - KeyBasedFileProcessor.main(new String[] { "-d", "test.txt.bpg", "secret." + type, "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - - KeyBasedFileProcessor.main(new String[] { "-e", "-ai", "test.txt", "pub." + type }); - - KeyBasedFileProcessor.main(new String[] { "-d", "test.txt.asc", "secret." + type, "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - } - - private void checkLargeKeyBasedEncryption(String type) - throws Exception - { - _currentErr.reset(); - - KeyBasedLargeFileProcessor.main(new String[] { "-e", "large.txt", "pub." + type }); - - KeyBasedLargeFileProcessor.main(new String[] { "-d", "large.txt.bpg", "secret." + type, "password" }); - - assertEquals("no message integrity check", getLine(_currentErr)); - - KeyBasedLargeFileProcessor.main(new String[] { "-e", "-i", "large.txt", "pub." + type }); - - KeyBasedLargeFileProcessor.main(new String[] { "-d", "large.txt.bpg", "secret." + type, "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - - KeyBasedLargeFileProcessor.main(new String[] { "-e", "-ai", "large.txt", "pub." + type }); - - KeyBasedLargeFileProcessor.main(new String[] { "-d", "large.txt.asc", "secret." + type, "password" }); - - assertEquals("message integrity check passed", getLine(_currentErr)); - } - - private void createSmallTestInput() - throws IOException - { - BufferedWriter bfOut = new BufferedWriter(new FileWriter("test.txt")); - - bfOut.write("hello world!"); - bfOut.newLine(); - - bfOut.close(); - } - - private void createLargeTestInput() - throws IOException - { - BufferedWriter bfOut = new BufferedWriter(new FileWriter("large.txt")); - - for (int i = 0; i != 2000; i++) - { - bfOut.write("hello world!"); - bfOut.newLine(); - } - - bfOut.close(); - } - - private void createTestData(String testData, String name) - throws IOException - { - BufferedWriter bfOut = new BufferedWriter(new FileWriter(name)); - - bfOut.write(testData); - - bfOut.close(); - } - - private void createTestFile(byte[] keyData, String name) - throws IOException - { - FileOutputStream fOut = new FileOutputStream(name); - - fOut.write(keyData); - - fOut.close(); - } - - private String getLine( - ByteArrayOutputStream out) - throws IOException - { - BufferedReader bRd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(out.toByteArray()))); - - out.reset(); - - return bRd.readLine(); - } - - public static void main (String[] args) - { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() - { - TestSuite suite = new TestSuite("OpenPGP Example Tests"); - - suite.addTestSuite(AllTests.class); - - return suite; - } -} |