Refine some tests.
diff --git a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPaPkAsRep.java b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPaPkAsRep.java
index 135a093..53d7abf 100644
--- a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPaPkAsRep.java
+++ b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPaPkAsRep.java
@@ -22,6 +22,7 @@
import org.apache.kerby.asn1.Asn1;
import org.apache.kerby.asn1.type.Asn1ObjectIdentifier;
import org.apache.kerby.cms.type.ContentInfo;
+import org.apache.kerby.kerberos.kerb.KrbCodec;
import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.type.pa.pkinit.DHRepInfo;
import org.apache.kerby.kerberos.kerb.type.pa.pkinit.PaPkAsRep;
@@ -40,7 +41,6 @@
dhRepInfo.setDHSignedData(contentInfo.encode());
paPkAsRep.setDHRepInfo(dhRepInfo);
Asn1.parseAndDump(paPkAsRep.encode());
- //TO BE FIXED
- //KrbCodec.decode(paPkAsRep.encode(), PaPkAsRep.class);
+ KrbCodec.decode(paPkAsRep.encode(), PaPkAsRep.class);
}
}
diff --git a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsRepCodec.java b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsRepCodec.java
index 7f37974..a67bb2c 100644
--- a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsRepCodec.java
+++ b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsRepCodec.java
@@ -20,8 +20,8 @@
package org.apache.kerby.kerberos.kerb.codec;
import org.apache.kerby.asn1.Asn1;
-import org.apache.kerby.cms.type.ContentInfo;
import org.apache.kerby.cms.type.EncapsulatedContentInfo;
+import org.apache.kerby.cms.type.SignedContentInfo;
import org.apache.kerby.cms.type.SignedData;
import org.apache.kerby.kerberos.kerb.type.base.EncryptedData;
import org.apache.kerby.kerberos.kerb.type.base.KrbMessageType;
@@ -63,25 +63,7 @@
//Asn1.parseAndDump(padataValue);
paPkAsRep.decode(padataValue);
- assertThat(paPkAsRep.getDHRepInfo()).isNotNull();
-
- DHRepInfo dhRepInfo = paPkAsRep.getDHRepInfo();
- byte[] dhSignedData = dhRepInfo.getDHSignedData();
- ContentInfo contentInfo = new ContentInfo();
- contentInfo.decode(dhSignedData);
- assertThat(contentInfo.getContentType().getValue()).isEqualTo("1.2.840.113549.1.7.2");
- SignedData signedData = contentInfo.getContentAs(SignedData.class);
- assertThat(signedData.getCertificates()).isNotNull();
-
- EncapsulatedContentInfo encapsulatedContentInfo = signedData.getEncapContentInfo();
- assertThat(encapsulatedContentInfo.getContentType().getValue()).isEqualTo("1.3.6.1.5.2.3.2");
-
- byte[] eContentInfo = encapsulatedContentInfo.getContent();
- KdcDHKeyInfo kdcDhKeyInfo = new KdcDHKeyInfo();
- kdcDhKeyInfo.decode(eContentInfo);
- assertThat(kdcDhKeyInfo.getSubjectPublicKey()).isNotNull();
- assertThat(kdcDhKeyInfo.getDHKeyExpiration()).isNotNull();
- assertThat(kdcDhKeyInfo.getNonce()).isNotNull();
+ testPaPkAsRep(paPkAsRep);
PaDataEntry etypeInfo2Entry = paData.findEntry(PaDataType.ETYPE_INFO2);
assertThat(etypeInfo2Entry.getPaDataType()).isEqualTo(PaDataType.ETYPE_INFO2);
@@ -112,7 +94,30 @@
// Test encode PaPkAsRep
byte[] encodedPaPkAsRep = paPkAsRep.encode();
Asn1.parseAndDump(encodedPaPkAsRep);
- PaPkAsRep decodedPaPkAsReq = new PaPkAsRep();
- decodedPaPkAsReq.decode(encodedPaPkAsRep);
+ PaPkAsRep decodedPaPkAsRep = new PaPkAsRep();
+ decodedPaPkAsRep.decode(encodedPaPkAsRep);
+ testPaPkAsRep(decodedPaPkAsRep);
+ }
+
+ private void testPaPkAsRep(PaPkAsRep paPkAsRep) throws IOException {
+ assertThat(paPkAsRep.getDHRepInfo()).isNotNull();
+
+ DHRepInfo dhRepInfo = paPkAsRep.getDHRepInfo();
+ byte[] dhSignedData = dhRepInfo.getDHSignedData();
+ SignedContentInfo contentInfo = new SignedContentInfo();
+ contentInfo.decode(dhSignedData);
+ assertThat(contentInfo.getContentType().getValue()).isEqualTo("1.2.840.113549.1.7.2");
+ SignedData signedData = contentInfo.getContentAs(SignedData.class);
+ assertThat(signedData.getCertificates()).isNotNull();
+
+ EncapsulatedContentInfo encapsulatedContentInfo = signedData.getEncapContentInfo();
+ assertThat(encapsulatedContentInfo.getContentType().getValue()).isEqualTo("1.3.6.1.5.2.3.2");
+
+ byte[] eContentInfo = encapsulatedContentInfo.getContent();
+ KdcDHKeyInfo kdcDhKeyInfo = new KdcDHKeyInfo();
+ kdcDhKeyInfo.decode(eContentInfo);
+ assertThat(kdcDhKeyInfo.getSubjectPublicKey()).isNotNull();
+ assertThat(kdcDhKeyInfo.getDHKeyExpiration()).isNotNull();
+ assertThat(kdcDhKeyInfo.getNonce()).isNotNull();
}
}
diff --git a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsReqCodec.java b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsReqCodec.java
index 7f9c738..8a67c6e 100644
--- a/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsReqCodec.java
+++ b/kerby-kerb/kerb-core/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestPkinitAnonymousAsReqCodec.java
@@ -20,7 +20,7 @@
package org.apache.kerby.kerberos.kerb.codec;
import org.apache.kerby.asn1.Asn1;
-import org.apache.kerby.cms.type.ContentInfo;
+import org.apache.kerby.cms.type.SignedContentInfo;
import org.apache.kerby.cms.type.SignedData;
import org.apache.kerby.kerberos.kerb.type.base.EncryptionType;
import org.apache.kerby.kerberos.kerb.type.base.KrbMessageType;
@@ -68,15 +68,8 @@
PaPkAsReq paPkAsReq = new PaPkAsReq();
paPkAsReq.decode(pkAsReqEntry.getPaDataValue());
- ContentInfo contentInfo = new ContentInfo();
- Asn1.parseAndDump(paPkAsReq.getSignedAuthPack());
- contentInfo.decode(paPkAsReq.getSignedAuthPack());
- assertThat(contentInfo.getContentType().getValue()).isEqualTo("1.2.840.113549.1.7.2");
- Asn1.dump(contentInfo);
- SignedData signedData = contentInfo.getContentAs(SignedData.class);
- assertThat(signedData.getCertificates().getElements().isEmpty()).isEqualTo(true);
- assertThat(signedData.getEncapContentInfo().getContentType().getValue()).isEqualTo("1.3.6.1.5.2.3.1");
+ testPaPkAsReq(paPkAsReq);
PaDataEntry encpaEntry = paData.findEntry(PaDataType.ENCPADATA_REQ_ENC_PA_REP);
assertThat(encpaEntry.getPaDataType()).isEqualTo(PaDataType.ENCPADATA_REQ_ENC_PA_REP);
@@ -109,5 +102,18 @@
byte[] encodedPaPkAsReq = paPkAsReq.encode();
PaPkAsReq decodedPaPkAsReq = new PaPkAsReq();
decodedPaPkAsReq.decode(encodedPaPkAsReq);
+ testPaPkAsReq(decodedPaPkAsReq);
+ }
+
+ private void testPaPkAsReq(PaPkAsReq paPkAsReq) throws IOException {
+ SignedContentInfo contentInfo = new SignedContentInfo();
+ Asn1.parseAndDump(paPkAsReq.getSignedAuthPack());
+ contentInfo.decode(paPkAsReq.getSignedAuthPack());
+ assertThat(contentInfo.getContentType().getValue()).isEqualTo("1.2.840.113549.1.7.2");
+ Asn1.dump(contentInfo);
+
+ SignedData signedData = contentInfo.getContentAs(SignedData.class);
+ assertThat(signedData.getCertificates().getElements().isEmpty()).isEqualTo(true);
+ assertThat(signedData.getEncapContentInfo().getContentType().getValue()).isEqualTo("1.3.6.1.5.2.3.1");
}
}