1
package org.bouncycastle.asn1.test;
3
import java.io.IOException;
5
import org.bouncycastle.asn1.ASN1InputStream;
6
import org.bouncycastle.asn1.DERBitString;
7
import org.bouncycastle.asn1.cmp.PKIFailureInfo;
8
import org.bouncycastle.util.encoders.Base64;
9
import org.bouncycastle.util.test.SimpleTest;
15
public class PKIFailureInfoTest
18
// A correct hex encoded BAD_DATA_FORMAT PKIFailureInfo
19
private static final byte[] CORRECT_FAILURE_INFO = Base64.decode("AwIANQ==");
21
public String getName()
23
return "PKIFailureInfo";
26
private void testEncoding()
29
DERBitString bitString = (DERBitString)new ASN1InputStream(CORRECT_FAILURE_INFO).readObject();
30
PKIFailureInfo correct = new PKIFailureInfo(bitString);
32
PKIFailureInfo bug = new PKIFailureInfo(PKIFailureInfo.badRequest | PKIFailureInfo.badTime |PKIFailureInfo.badDataFormat | PKIFailureInfo.incorrectData);
34
if (!areEqual(correct.getDEREncoded(),bug.getDEREncoded()))
36
fail("encoding doesn't match");
40
public void performTest()
43
BitStringConstantTester.testFlagValueCorrect(0, PKIFailureInfo.badAlg);
44
BitStringConstantTester.testFlagValueCorrect(1, PKIFailureInfo.badMessageCheck);
45
BitStringConstantTester.testFlagValueCorrect(2, PKIFailureInfo.badRequest);
46
BitStringConstantTester.testFlagValueCorrect(3, PKIFailureInfo.badTime);
47
BitStringConstantTester.testFlagValueCorrect(4, PKIFailureInfo.badCertId);
48
BitStringConstantTester.testFlagValueCorrect(5, PKIFailureInfo.badDataFormat);
49
BitStringConstantTester.testFlagValueCorrect(6, PKIFailureInfo.wrongAuthority);
50
BitStringConstantTester.testFlagValueCorrect(7, PKIFailureInfo.incorrectData);
51
BitStringConstantTester.testFlagValueCorrect(8, PKIFailureInfo.missingTimeStamp);
52
BitStringConstantTester.testFlagValueCorrect(9, PKIFailureInfo.badPOP);
53
BitStringConstantTester.testFlagValueCorrect(14, PKIFailureInfo.timeNotAvailable);
54
BitStringConstantTester.testFlagValueCorrect(15, PKIFailureInfo.unacceptedPolicy);
55
BitStringConstantTester.testFlagValueCorrect(16, PKIFailureInfo.unacceptedExtension);
56
BitStringConstantTester.testFlagValueCorrect(17, PKIFailureInfo.addInfoNotAvailable);
57
BitStringConstantTester.testFlagValueCorrect(25, PKIFailureInfo.systemFailure);
62
public static void main(
65
runTest(new PKIFailureInfoTest());