Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java')
-rw-r--r--core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java b/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java
new file mode 100644
index 00000000..ff7cd387
--- /dev/null
+++ b/core/src/test/java/org/spongycastle/asn1/test/BitStringTest.java
@@ -0,0 +1,73 @@
+package org.spongycastle.asn1.test;
+
+import java.io.IOException;
+
+import org.spongycastle.asn1.ASN1Primitive;
+import org.spongycastle.asn1.DERBitString;
+import org.spongycastle.asn1.x509.KeyUsage;
+import org.spongycastle.util.test.SimpleTestResult;
+import org.spongycastle.util.test.Test;
+import org.spongycastle.util.test.TestResult;
+
+public class BitStringTest
+ implements Test
+{
+ public TestResult perform()
+ {
+ KeyUsage k = new KeyUsage(KeyUsage.digitalSignature);
+ if ((k.getBytes()[0] != (byte)KeyUsage.digitalSignature) || (k.getPadBits() != 7))
+ {
+ return new SimpleTestResult(false, getName() + ": failed digitalSignature");
+ }
+
+ k = new KeyUsage(KeyUsage.nonRepudiation);
+ if ((k.getBytes()[0] != (byte)KeyUsage.nonRepudiation) || (k.getPadBits() != 6))
+ {
+ return new SimpleTestResult(false, getName() + ": failed nonRepudiation");
+ }
+
+ k = new KeyUsage(KeyUsage.keyEncipherment);
+ if ((k.getBytes()[0] != (byte)KeyUsage.keyEncipherment) || (k.getPadBits() != 5))
+ {
+ return new SimpleTestResult(false, getName() + ": failed keyEncipherment");
+ }
+
+ k = new KeyUsage(KeyUsage.cRLSign);
+ if ((k.getBytes()[0] != (byte)KeyUsage.cRLSign) || (k.getPadBits() != 1))
+ {
+ return new SimpleTestResult(false, getName() + ": failed cRLSign");
+ }
+
+ k = new KeyUsage(KeyUsage.decipherOnly);
+ if ((k.getBytes()[1] != (byte)(KeyUsage.decipherOnly >> 8)) || (k.getPadBits() != 7))
+ {
+ return new SimpleTestResult(false, getName() + ": failed decipherOnly");
+ }
+
+ // test for zero length bit string
+ try
+ {
+ ASN1Primitive.fromByteArray(new DERBitString(new byte[0], 0).getEncoded());
+ }
+ catch (IOException e)
+ {
+ return new SimpleTestResult(false, getName() + ": " + e);
+ }
+
+ return new SimpleTestResult(true, getName() + ": Okay");
+ }
+
+ public String getName()
+ {
+ return "BitString";
+ }
+
+ public static void main(
+ String[] args)
+ {
+ BitStringTest test = new BitStringTest();
+ TestResult result = test.perform();
+
+ System.out.println(result);
+ }
+}