summaryrefslogtreecommitdiffstats
path: root/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
diff options
context:
space:
mode:
authorSergio Giro <sgiro@google.com>2016-02-01 18:52:42 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-02-01 18:52:42 +0000
commit9218edabd1ef9852bc2f13115dcadc81b442dd6c (patch)
tree8229ff72c8cbb06f49dce3a8382930919fa6fc2b /bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
parent9b30eb05e5be69d51881a0d1b31e503e97acd784 (diff)
parent397d32894b89b506dc318e0f83446187c9b76ebe (diff)
downloadandroid_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.gz
android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.tar.bz2
android_external_bouncycastle-9218edabd1ef9852bc2f13115dcadc81b442dd6c.zip
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge-152-from-upstream"
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java')
-rw-r--r--bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java b/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
new file mode 100644
index 0000000..1cd5bd3
--- /dev/null
+++ b/bcprov/src/main/java/org/bouncycastle/asn1/test/BitStringTest.java
@@ -0,0 +1,73 @@
+package org.bouncycastle.asn1.test;
+
+import java.io.IOException;
+
+import org.bouncycastle.asn1.ASN1Primitive;
+import org.bouncycastle.asn1.DERBitString;
+import org.bouncycastle.asn1.x509.KeyUsage;
+import org.bouncycastle.util.test.SimpleTestResult;
+import org.bouncycastle.util.test.Test;
+import org.bouncycastle.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);
+ }
+}