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/PKIFailureInfoTest.java')
-rw-r--r--core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java b/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java
new file mode 100644
index 00000000..b4b52744
--- /dev/null
+++ b/core/src/test/java/org/spongycastle/asn1/test/PKIFailureInfoTest.java
@@ -0,0 +1,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());
+ }
+}