1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
package org.spongycastle.asn1.test;
import java.io.IOException;
import org.spongycastle.asn1.ASN1Encoding;
import org.spongycastle.asn1.ASN1InputStream;
import org.spongycastle.asn1.DERBitString;
import org.spongycastle.asn1.cmp.PKIFailureInfo;
import org.spongycastle.util.encoders.Base64;
import org.spongycastle.util.test.SimpleTest;
/**
* PKIFailureInfoTest
*/
public class PKIFailureInfoTest
extends SimpleTest
{
// A correct hex encoded BAD_DATA_FORMAT PKIFailureInfo
private static final byte[] CORRECT_FAILURE_INFO = Base64.decode("AwIANQ==");
public String getName()
{
return "PKIFailureInfo";
}
private void testEncoding()
throws IOException
{
DERBitString bitString = (DERBitString)new ASN1InputStream(CORRECT_FAILURE_INFO).readObject();
PKIFailureInfo correct = new PKIFailureInfo(bitString);
PKIFailureInfo bug = new PKIFailureInfo(PKIFailureInfo.badRequest | PKIFailureInfo.badTime |PKIFailureInfo.badDataFormat | PKIFailureInfo.incorrectData);
if (!areEqual(correct.getEncoded(ASN1Encoding.DER),bug.getEncoded(ASN1Encoding.DER)))
{
fail("encoding doesn't match");
}
}
public void performTest()
throws IOException
{
BitStringConstantTester.testFlagValueCorrect(0, PKIFailureInfo.badAlg);
BitStringConstantTester.testFlagValueCorrect(1, PKIFailureInfo.badMessageCheck);
BitStringConstantTester.testFlagValueCorrect(2, PKIFailureInfo.badRequest);
BitStringConstantTester.testFlagValueCorrect(3, PKIFailureInfo.badTime);
BitStringConstantTester.testFlagValueCorrect(4, PKIFailureInfo.badCertId);
BitStringConstantTester.testFlagValueCorrect(5, PKIFailureInfo.badDataFormat);
BitStringConstantTester.testFlagValueCorrect(6, PKIFailureInfo.wrongAuthority);
BitStringConstantTester.testFlagValueCorrect(7, PKIFailureInfo.incorrectData);
BitStringConstantTester.testFlagValueCorrect(8, PKIFailureInfo.missingTimeStamp);
BitStringConstantTester.testFlagValueCorrect(9, PKIFailureInfo.badPOP);
BitStringConstantTester.testFlagValueCorrect(14, PKIFailureInfo.timeNotAvailable);
BitStringConstantTester.testFlagValueCorrect(15, PKIFailureInfo.unacceptedPolicy);
BitStringConstantTester.testFlagValueCorrect(16, PKIFailureInfo.unacceptedExtension);
BitStringConstantTester.testFlagValueCorrect(17, PKIFailureInfo.addInfoNotAvailable);
BitStringConstantTester.testFlagValueCorrect(25, PKIFailureInfo.systemFailure);
testEncoding();
}
public static void main(
String[] args)
{
runTest(new PKIFailureInfoTest());
}
}
|