You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/12/09 05:42:23 UTC

[1/4] directory-kerby git commit: CMS. The first CMS test passed happily, for compressed data type

Repository: directory-kerby
Updated Branches:
  refs/heads/pkinit-support 389135d09 -> 44fa158ab


CMS. The first CMS test passed happily, for compressed data type


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/7c00ced5
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/7c00ced5
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/7c00ced5

Branch: refs/heads/pkinit-support
Commit: 7c00ced5914545d1c63484b40c1362e3ad74ab9a
Parents: bed0145
Author: Kai Zheng <ka...@intel.com>
Authored: Wed Dec 9 10:33:28 2015 +0800
Committer: Kai Zheng <ka...@intel.com>
Committed: Wed Dec 9 10:33:28 2015 +0800

----------------------------------------------------------------------
 .../src/test/java/org/apache/kerby/cms/TestCompressedData.java   | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/7c00ced5/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
----------------------------------------------------------------------
diff --git a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
index 5331380..dfeccfe 100644
--- a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
+++ b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
@@ -20,6 +20,7 @@
 package org.apache.kerby.cms;
 
 import org.apache.kerby.asn1.Asn1;
+import org.apache.kerby.cms.type.CompressedData;
 import org.apache.kerby.cms.type.ContentInfo;
 import org.junit.Assert;
 import org.junit.Test;
@@ -38,12 +39,9 @@ public class TestCompressedData extends CmsTestBase {
             contentInfo.decode(data);
             Asn1.dump(contentInfo);
 
-            //To be fixed.
-            /*
             CompressedData compressedData =
                 contentInfo.getContentAs(CompressedData.class);
             Asn1.dump(compressedData);
-            */
         } catch (Exception e) {
             e.printStackTrace();
             Assert.fail();


[3/4] directory-kerby git commit: CMS. The 2nd CMS test passed happily, for the signed data type

Posted by pl...@apache.org.
CMS. The 2nd CMS test passed happily, for the signed data type


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/32c41837
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/32c41837
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/32c41837

Branch: refs/heads/pkinit-support
Commit: 32c41837fff6528dfefaf594acfed14f0475ba53
Parents: d72d7bd
Author: Kai Zheng <ka...@intel.com>
Authored: Wed Dec 9 11:43:39 2015 +0800
Committer: Kai Zheng <ka...@intel.com>
Committed: Wed Dec 9 11:43:39 2015 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kerby/asn1/Tag.java    |  4 ++++
 .../kerby/asn1/parse/Asn1ParseResult.java       |  2 +-
 .../kerby/asn1/type/Asn1CollectionType.java     | 24 +++++++++++---------
 .../org/apache/kerby/asn1/type/Asn1Object.java  | 17 ++++++++------
 .../org/apache/kerby/cms/TestSignedData.java    |  4 +---
 5 files changed, 29 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/32c41837/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
index 89f5e88..3768ae7 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
@@ -85,6 +85,10 @@ public class Tag {
         return universalTag() == UniversalTag.EOC;
     }
 
+    public boolean isNull() {
+        return universalTag() == UniversalTag.NULL;
+    }
+
     public boolean isUniversal() {
         return tagClass().isUniversal();
     }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/32c41837/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1ParseResult.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1ParseResult.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1ParseResult.java
index 6aebeae..bf80ced 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1ParseResult.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1ParseResult.java
@@ -88,7 +88,7 @@ public abstract class Asn1ParseResult extends Asn1Object {
         return headerLen;
     }
 
-    protected int getOffset() {
+    public int getOffset() {
         return getBodyStart() - getHeaderLength();
     }
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/32c41837/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
index 42a1446..97221ce 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
@@ -92,39 +92,41 @@ public abstract class Asn1CollectionType
 
         int lastPos = -1, foundPos = -1;
 
-        for (Asn1ParseResult parsingItem : parseResults) {
-            if (parsingItem.isEOC()) {
+        for (Asn1ParseResult parseItem : parseResults) {
+            if (parseItem.isEOC() || parseItem.isNull()) {
                 continue;
             }
 
             foundPos = -1;
             for (int i = lastPos + 1; i < fieldInfos.length; ++i) {
-                if (parsingItem.isContextSpecific()) {
-                    if (fieldInfos[i].getTagNo() == parsingItem.tagNo()) {
+                if (parseItem.isContextSpecific()) {
+                    if (fieldInfos[i].getTagNo() == parseItem.tagNo()) {
                         foundPos = i;
                         break;
                     }
-                } else if (fields[i].tag().equals(parsingItem.tag())) {
+                } else if (fields[i].tag().equals(parseItem.tag())) {
                     foundPos = i;
                     break;
                 }
             }
             if (foundPos == -1) {
-                throw new IOException("Unexpected item with tag: " + parsingItem.tag());
+                String error = String.format("Unexpected item tag=%s, off=%d",
+                    parseItem.tag(), parseItem.getOffset());
+                throw new IOException(error);
             }
             lastPos = foundPos;
 
-            AbstractAsn1Type<?> fieldValue = (AbstractAsn1Type<?>) fields[foundPos];
+            Asn1Type fieldValue = fields[foundPos];
             if (fieldValue instanceof Asn1Any) {
                 Asn1Any any = (Asn1Any) fieldValue;
-                any.setField(parsingItem);
+                any.setField(parseItem);
                 any.setFieldInfo(fieldInfos[foundPos]);
             } else {
-                if (parsingItem.isContextSpecific()) {
-                    Asn1Binder.bindWithTagging(parsingItem, fieldValue,
+                if (parseItem.isContextSpecific()) {
+                    Asn1Binder.bindWithTagging(parseItem, fieldValue,
                             fieldInfos[foundPos].getTaggingOption());
                 } else {
-                    Asn1Binder.bind(parsingItem, fieldValue);
+                    Asn1Binder.bind(parseItem, fieldValue);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/32c41837/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Object.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Object.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Object.java
index 643d5d0..e4a88b0 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Object.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Object.java
@@ -66,34 +66,37 @@ public abstract class Asn1Object {
     }
 
     public void usePrimitive(boolean isPrimitive) {
-        tag.usePrimitive(isPrimitive);
+        tag().usePrimitive(isPrimitive);
     }
 
     public boolean isPrimitive() {
-        return tag.isPrimitive();
+        return tag().isPrimitive();
     }
 
-
     public boolean isUniversal() {
-        return tag.isUniversal();
+        return tag().isUniversal();
     }
 
     public boolean isAppSpecific() {
-        return tag.isAppSpecific();
+        return tag().isAppSpecific();
     }
 
     public boolean isContextSpecific() {
-        return tag.isContextSpecific();
+        return tag().isContextSpecific();
     }
 
     public boolean isTagSpecific() {
-        return tag.isSpecific();
+        return tag().isSpecific();
     }
 
     public boolean isEOC() {
         return tag().isEOC();
     }
 
+    public boolean isNull() {
+        return tag().isNull();
+    }
+
     public boolean isSimple() {
         return Asn1Simple.isSimple(tag());
     }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/32c41837/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
----------------------------------------------------------------------
diff --git a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
index d4e1a75..04e2aef 100644
--- a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
+++ b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
@@ -21,6 +21,7 @@ package org.apache.kerby.cms;
 
 import org.apache.kerby.asn1.Asn1;
 import org.apache.kerby.cms.type.ContentInfo;
+import org.apache.kerby.cms.type.SignedData;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -38,12 +39,9 @@ public class TestSignedData extends CmsTestBase {
             contentInfo.decode(data);
             Asn1.dump(contentInfo);
 
-            //To be fixed.
-            /*
             SignedData signedData =
                 contentInfo.getContentAs(SignedData.class);
             Asn1.dump(signedData);
-            */
         } catch (Exception e) {
             e.printStackTrace();
             Assert.fail();


[4/4] directory-kerby git commit: Merge remote-tracking branch 'asf/master' into pkinit-support

Posted by pl...@apache.org.
Merge remote-tracking branch 'asf/master' into pkinit-support


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/44fa158a
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/44fa158a
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/44fa158a

Branch: refs/heads/pkinit-support
Commit: 44fa158abfd8f31d48bbea5c5df87f8eedbbf668
Parents: 389135d 32c4183
Author: plusplusjiajia <ji...@intel.com>
Authored: Wed Dec 9 12:48:49 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Wed Dec 9 12:48:49 2015 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kerby/asn1/Tag.java    | 11 ++++++++-
 .../apache/kerby/asn1/parse/Asn1Container.java  |  3 ++-
 .../org/apache/kerby/asn1/parse/Asn1Item.java   |  3 ++-
 .../kerby/asn1/parse/Asn1ParseResult.java       |  2 +-
 .../kerby/asn1/type/Asn1CollectionType.java     | 24 +++++++++++---------
 .../org/apache/kerby/asn1/type/Asn1Object.java  | 17 ++++++++------
 .../apache/kerby/cms/TestCompressedData.java    |  4 +---
 .../org/apache/kerby/cms/TestSignedData.java    |  4 +---
 8 files changed, 40 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/44fa158a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1CollectionType.java
----------------------------------------------------------------------


[2/4] directory-kerby git commit: DIRKRB-492. Use hex when dumping ASN1 object tags

Posted by pl...@apache.org.
DIRKRB-492. Use hex when dumping ASN1 object tags


Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/d72d7bd4
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/d72d7bd4
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/d72d7bd4

Branch: refs/heads/pkinit-support
Commit: d72d7bd46631b2c284378bd6ce0d78866d8debf2
Parents: 7c00ced
Author: Kai Zheng <ka...@intel.com>
Authored: Wed Dec 9 11:06:20 2015 +0800
Committer: Kai Zheng <ka...@intel.com>
Committed: Wed Dec 9 11:06:20 2015 +0800

----------------------------------------------------------------------
 kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java       | 7 ++++++-
 .../main/java/org/apache/kerby/asn1/parse/Asn1Container.java  | 3 ++-
 .../src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java   | 3 ++-
 3 files changed, 10 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/d72d7bd4/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
index 6b19e1e..89f5e88 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/Tag.java
@@ -101,6 +101,11 @@ public class Tag {
         return tagClass().isSpecific();
     }
 
+    public byte tagByte() {
+        int n = tagFlags | (tagNo < 0x1F ? tagNo : 0x1F);
+        return (byte) (n & 0xFF);
+    }
+
     @Override
     public boolean equals(Object o) {
         if (this == o) {
@@ -128,7 +133,7 @@ public class Tag {
 
     @Override
     public String toString() {
-        return tagNo >= 0x1F ? "N/A" : "" + (tagFlags | tagNo);
+        return String.format("0x%02X", tagByte());
     }
 
     public static Tag newAppTag(int tagNo) {

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/d72d7bd4/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
index a0e27ca..7cbd471 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Container.java
@@ -75,7 +75,8 @@ public class Asn1Container
             typeStr = "[" + tagNo() + "]";
         }
         return typeStr + " ["
-            + "off=" + getOffset()
+            + "tag=" + tag()
+            + ", off=" + getOffset()
             + ", len=" + getHeaderLength() + "+" + getBodyLength()
             + (isDefinitiveLength() ? "" : "(undefined)")
             + "]";

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/d72d7bd4/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java
index 7548629..1e4f6f6 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/parse/Asn1Item.java
@@ -40,7 +40,8 @@ public class Asn1Item extends Asn1ParseResult {
         String typeStr = tag().isUniversal() ? tag().universalTag().toStr()
             : tag().tagClass().name().toLowerCase();
         return typeStr + " ["
-            + "off=" + getOffset()
+            + "tag=" + tag()
+            + ", off=" + getOffset()
             + ", len=" + getHeaderLength() + "+" + getBodyLength()
             + "] "
             + valueStr;