org.testifyproject.bouncycastle.asn1.test.BitStringTest Maven / Gradle / Ivy
The newest version!
package org.testifyproject.bouncycastle.asn1.test;
import java.io.IOException;
import org.testifyproject.bouncycastle.asn1.ASN1Primitive;
import org.testifyproject.bouncycastle.asn1.DERBitString;
import org.testifyproject.bouncycastle.asn1.x509.KeyUsage;
import org.testifyproject.bouncycastle.util.test.SimpleTestResult;
import org.testifyproject.bouncycastle.util.test.Test;
import org.testifyproject.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);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy