diff options
Diffstat (limited to 'libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPArmoredTest.java')
-rw-r--r-- | libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPArmoredTest.java | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPArmoredTest.java b/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPArmoredTest.java deleted file mode 100644 index 3581f1692..000000000 --- a/libraries/spongycastle/pg/src/test/java/org/spongycastle/openpgp/test/PGPArmoredTest.java +++ /dev/null @@ -1,255 +0,0 @@ -package org.spongycastle.openpgp.test; - -import java.io.ByteArrayOutputStream; -import java.io.ByteArrayInputStream; - -import org.spongycastle.bcpg.ArmoredOutputStream; -import org.spongycastle.bcpg.ArmoredInputStream; -import org.spongycastle.util.Arrays; -import org.spongycastle.util.Strings; -import org.spongycastle.util.encoders.Base64; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; -import org.spongycastle.openpgp.PGPObjectFactory; - -public class PGPArmoredTest - extends SimpleTest -{ - byte[] sample = Base64.decode( - "mQGiBEA83v0RBADzKVLVCnpWQxX0LCsevw/3OLs0H7MOcLBQ4wMO9sYmzGYn" - + "xpVj+4e4PiCP7QBayWyy4lugL6Lnw7tESvq3A4v3fefcxaCTkJrryiKn4+Cg" - + "y5rIBbrSKNtCEhVi7xjtdnDjP5kFKgHYjVOeIKn4Cz/yzPG3qz75kDknldLf" - + "yHxp2wCgwW1vAE5EnZU4/UmY7l8kTNkMltMEAJP4/uY4zcRwLI9Q2raPqAOJ" - + "TYLd7h+3k/BxI0gIw96niQ3KmUZDlobbWBI+VHM6H99vcttKU3BgevNf8M9G" - + "x/AbtW3SS4De64wNSU3189XDG8vXf0vuyW/K6Pcrb8exJWY0E1zZQ1WXT0gZ" - + "W0kH3g5ro//Tusuil9q2lVLF2ovJA/0W+57bPzi318dWeNs0tTq6Njbc/GTG" - + "FUAVJ8Ss5v2u6h7gyJ1DB334ExF/UdqZGldp0ugkEXaSwBa2R7d3HBgaYcoP" - + "Ck1TrovZzEY8gm7JNVy7GW6mdOZuDOHTxyADEEP2JPxh6eRcZbzhGuJuYIif" - + "IIeLOTI5Dc4XKeV32a+bWrQidGVzdCAoVGVzdCBrZXkpIDx0ZXN0QHViaWNh" - + "bGwuY29tPohkBBMRAgAkBQJAPN79AhsDBQkB4TOABgsJCAcDAgMVAgMDFgIB" - + "Ah4BAheAAAoJEJh8Njfhe8KmGDcAoJWr8xgPr75y/Cp1kKn12oCCOb8zAJ4p" - + "xSvk4K6tB2jYbdeSrmoWBZLdMLACAAC5AQ0EQDzfARAEAJeUAPvUzJJbKcc5" - + "5Iyb13+Gfb8xBWE3HinQzhGr1v6A1aIZbRj47UPAD/tQxwz8VAwJySx82ggN" - + "LxCk4jW9YtTL3uZqfczsJngV25GoIN10f4/j2BVqZAaX3q79a3eMiql1T0oE" - + "AGmD7tO1LkTvWfm3VvA0+t8/6ZeRLEiIqAOHAAQNBACD0mVMlAUgd7REYy/1" - + "mL99Zlu9XU0uKyUex99sJNrcx1aj8rIiZtWaHz6CN1XptdwpDeSYEOFZ0PSu" - + "qH9ByM3OfjU/ya0//xdvhwYXupn6P1Kep85efMBA9jUv/DeBOzRWMFG6sC6y" - + "k8NGG7Swea7EHKeQI40G3jgO/+xANtMyTIhPBBgRAgAPBQJAPN8BAhsMBQkB" - + "4TOAAAoJEJh8Njfhe8KmG7kAn00mTPGJCWqmskmzgdzeky5fWd7rAKCNCp3u" - + "ZJhfg0htdgAfIy8ppm05vLACAAA="); - - byte[] marker = Hex.decode("2d2d2d2d2d454e4420504750205055424c4943204b455920424c4f434b2d2d2d2d2d"); - - // Contains "Hello World!" as an armored message - // The 'blank line' after the headers contains (legal) whitespace - see RFC2440 6.2 - private static final String blankLineData = - "-----BEGIN PGP MESSAGE-----\n" - + "Version: BCPG v1.32\n" - + "Comment: A dummy message\n" - + " \t \t\n" - + "SGVsbG8gV29ybGQh\n" - + "=d9Xi\n" - + "-----END PGP MESSAGE-----\n"; - - private int markerCount( - byte[] data) - { - int ind = 0; - int matches = 0; - - while (ind < data.length) - { - if (data[ind] == 0x2d) - { - int count = 0; - while (count < marker.length) - { - if (data[ind + count] != marker[count]) - { - break; - } - count++; - } - - if (count == marker.length) - { - matches++; - } - - ind += count; - } - else - { - ind++; - } - } - - return matches; - } - - private void blankLineTest() throws Exception - { - byte[] blankLineBytes = Strings.toByteArray(blankLineData); - ByteArrayInputStream bIn = new ByteArrayInputStream(blankLineBytes); - ArmoredInputStream aIn = new ArmoredInputStream(bIn, true); - - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - int c; - while ((c = aIn.read()) >= 0) - { - bOut.write(c); - } - - byte[] expected = Strings.toByteArray("Hello World!"); - - if (!Arrays.areEqual(expected, bOut.toByteArray())) - { - fail("Incorrect message retrieved in blank line test."); - } - } - - public void performTest() - throws Exception - { - // - // test immediate close - // - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - ArmoredOutputStream aOut = new ArmoredOutputStream(bOut); - - aOut.close(); - - byte[] data = bOut.toByteArray(); - - if (data.length != 0) - { - fail("No data should have been written"); - } - - // - // multiple close - // - bOut = new ByteArrayOutputStream(); - aOut = new ArmoredOutputStream(bOut); - - aOut.write(sample); - - aOut.close(); - - aOut.close(); - - int mc = markerCount(bOut.toByteArray()); - - if (mc < 1) - { - fail("No end marker found"); - } - - if (mc > 1) - { - fail("More than one end marker found"); - } - - // - // writing and reading single objects - // - bOut = new ByteArrayOutputStream(); - aOut = new ArmoredOutputStream(bOut); - - aOut.write(sample); - - aOut.close(); - - ArmoredInputStream aIn = new ArmoredInputStream(new ByteArrayInputStream(bOut.toByteArray())); - - PGPObjectFactory fact = new PGPObjectFactory(aIn); - int count = 0; - - while (fact.nextObject() != null) - { - count++; - } - - if (count != 1) - { - fail("wrong number of objects found: " + count); - } - - // - // writing and reading multiple objects - in single block - // - bOut = new ByteArrayOutputStream(); - aOut = new ArmoredOutputStream(bOut); - - aOut.write(sample); - aOut.write(sample); - - aOut.close(); - - aIn = new ArmoredInputStream(new ByteArrayInputStream(bOut.toByteArray())); - - fact = new PGPObjectFactory(aIn); - count = 0; - - while (fact.nextObject() != null) - { - count++; - } - - if (count != 2) - { - fail("wrong number of objects found: " + count); - } - - // - // writing and reading multiple objects - in single block - // - bOut = new ByteArrayOutputStream(); - aOut = new ArmoredOutputStream(bOut); - - aOut.write(sample); - - aOut.close(); // does not close underlying stream - - aOut = new ArmoredOutputStream(bOut); - - aOut.write(sample); - - aOut.close(); - - aIn = new ArmoredInputStream(new ByteArrayInputStream(bOut.toByteArray())); - - count = 0; - boolean atLeastOne; - do - { - atLeastOne = false; - fact = new PGPObjectFactory(aIn); - - while (fact.nextObject() != null) - { - atLeastOne = true; - count++; - } - } - while (atLeastOne); - - if (count != 2) - { - fail("wrong number of objects found: " + count); - } - - blankLineTest(); - } - - public String getName() - { - return "PGPArmoredTest"; - } - - public static void main( - String[] args) - { - runTest(new PGPArmoredTest()); - } -} |