You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/01/25 06:18:41 UTC
directory-kerberos git commit: Fixed some issues
Repository: directory-kerberos
Updated Branches:
refs/heads/cleanpki 94e3ac5be -> 99f8a3ce5
Fixed some issues
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/99f8a3ce
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/99f8a3ce
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/99f8a3ce
Branch: refs/heads/cleanpki
Commit: 99f8a3ce52927de0b99a0b5fcb93088cdd816fcb
Parents: 94e3ac5
Author: Drankye <dr...@gmail.com>
Authored: Sun Jan 25 13:18:19 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Sun Jan 25 13:18:19 2015 +0800
----------------------------------------------------------------------
.../apache/commons/ssl/Asn1PkcsStructure.java | 10 ++--
.../org/apache/commons/ssl/Asn1PkcsUtil.java | 14 +-----
.../org/apache/commons/ssl/KeyStoreBuilder.java | 32 ++++++-------
.../java/org/apache/commons/ssl/PKCS8Key.java | 12 ++---
.../apache/kerby/asn1/type/Asn1BigInteger.java | 48 --------------------
.../org/apache/kerby/asn1/type/Asn1Choice.java | 2 +-
.../kerby/asn1/type/Asn1CollectionType.java | 4 +-
.../org/apache/kerby/asn1/type/Asn1Integer.java | 18 +++++---
.../org/apache/kerby/asn1/type/Asn1Simple.java | 3 +-
.../org/apache/kerby/asn1/PersonnelRecord.java | 4 +-
.../org/apache/kerby/asn1/TestAsn1Integer.java | 4 +-
.../kerby/kerberos/kerb/spec/KrbIntegers.java | 2 +-
12 files changed, 48 insertions(+), 105 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsStructure.java
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsStructure.java b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsStructure.java
index 37f30a9..e00d58d 100644
--- a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsStructure.java
+++ b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsStructure.java
@@ -26,13 +26,9 @@
package org.apache.commons.ssl;
import org.apache.commons.ssl.util.Hex;
-import org.apache.kerby.asn1.type.Asn1BigInteger;
+import org.apache.kerby.asn1.type.Asn1Integer;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
/**
* @author Credit Union Central of British Columbia
@@ -45,7 +41,7 @@ import java.util.TreeSet;
* Adapted from not-yet-commons-ssl ASN1Structure
*/
class Asn1PkcsStructure {
- List<Asn1BigInteger> derIntegers = new LinkedList<Asn1BigInteger>();
+ List<Asn1Integer> derIntegers = new LinkedList<Asn1Integer>();
Set oids = new TreeSet();
String oid1;
String oid2;
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsUtil.java
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsUtil.java b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsUtil.java
index 1e17099..4f6823a 100644
--- a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsUtil.java
+++ b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/Asn1PkcsUtil.java
@@ -101,22 +101,10 @@ public class Asn1PkcsUtil {
for (int i = 0; i < depth; i++) {
name = " " + name;
}
+
if (obj instanceof Asn1Integer) {
Asn1Integer dInt = (Asn1Integer) obj;
if (pkcs8.derIntegers != null) {
- pkcs8.derIntegers.add(new Asn1BigInteger(dInt.getValue()));
- }
- int intValue = dInt.getValue();
- if (intValue > 0) {
- if (pkcs8.iterationCount == 0) {
- pkcs8.iterationCount = intValue;
- } else if (pkcs8.keySize == 0) {
- pkcs8.keySize = intValue;
- }
- }
- } else if (obj instanceof Asn1BigInteger) {
- Asn1BigInteger dInt = (Asn1BigInteger) obj;
- if (pkcs8.derIntegers != null) {
pkcs8.derIntegers.add(dInt);
}
BigInteger big = dInt.getValue();
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/KeyStoreBuilder.java
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/KeyStoreBuilder.java b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/KeyStoreBuilder.java
index 7d0828b..398f1a6 100644
--- a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/KeyStoreBuilder.java
+++ b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/KeyStoreBuilder.java
@@ -31,7 +31,7 @@
package org.apache.commons.ssl;
-import org.apache.kerby.asn1.type.Asn1BigInteger;
+import org.apache.kerby.asn1.type.Asn1Integer;
import org.apache.kerby.asn1.type.Asn1Sequence;
import java.io.*;
@@ -613,15 +613,15 @@ public class KeyStoreBuilder {
if (key instanceof RSAPrivateCrtKey) {
RSAPrivateCrtKey rsa = (RSAPrivateCrtKey) key;
Asn1Sequence seq = new Asn1Sequence();
- seq.addItem(new Asn1BigInteger(BigInteger.ZERO));
- seq.addItem(new Asn1BigInteger(rsa.getModulus()));
- seq.addItem(new Asn1BigInteger(rsa.getPublicExponent()));
- seq.addItem(new Asn1BigInteger(rsa.getPrivateExponent()));
- seq.addItem(new Asn1BigInteger(rsa.getPrimeP()));
- seq.addItem(new Asn1BigInteger(rsa.getPrimeQ()));
- seq.addItem(new Asn1BigInteger(rsa.getPrimeExponentP()));
- seq.addItem(new Asn1BigInteger(rsa.getPrimeExponentQ()));
- seq.addItem(new Asn1BigInteger(rsa.getCrtCoefficient()));
+ seq.addItem(new Asn1Integer(BigInteger.ZERO));
+ seq.addItem(new Asn1Integer(rsa.getModulus()));
+ seq.addItem(new Asn1Integer(rsa.getPublicExponent()));
+ seq.addItem(new Asn1Integer(rsa.getPrivateExponent()));
+ seq.addItem(new Asn1Integer(rsa.getPrimeP()));
+ seq.addItem(new Asn1Integer(rsa.getPrimeQ()));
+ seq.addItem(new Asn1Integer(rsa.getPrimeExponentP()));
+ seq.addItem(new Asn1Integer(rsa.getPrimeExponentQ()));
+ seq.addItem(new Asn1Integer(rsa.getCrtCoefficient()));
byte[] derBytes = seq.encode();
PKCS8Key pkcs8 = new PKCS8Key(derBytes, null);
pkcs8DerBytes = pkcs8.getDecryptedBytes();
@@ -635,12 +635,12 @@ public class KeyStoreBuilder {
BigInteger y = q.modPow(x, p);
Asn1Sequence seq = new Asn1Sequence();
- seq.addItem(new Asn1BigInteger(BigInteger.ZERO));
- seq.addItem(new Asn1BigInteger(p));
- seq.addItem(new Asn1BigInteger(q));
- seq.addItem(new Asn1BigInteger(g));
- seq.addItem(new Asn1BigInteger(y));
- seq.addItem(new Asn1BigInteger(x));
+ seq.addItem(new Asn1Integer(BigInteger.ZERO));
+ seq.addItem(new Asn1Integer(p));
+ seq.addItem(new Asn1Integer(q));
+ seq.addItem(new Asn1Integer(g));
+ seq.addItem(new Asn1Integer(y));
+ seq.addItem(new Asn1Integer(x));
byte[] derBytes = seq.encode();
PKCS8Key pkcs8 = new PKCS8Key(derBytes, null);
pkcs8DerBytes = pkcs8.getDecryptedBytes();
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/PKCS8Key.java
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/PKCS8Key.java b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/PKCS8Key.java
index 6de244e..f63d4e3 100644
--- a/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/PKCS8Key.java
+++ b/3rdparty/not-yet-commons-ssl/src/main/java/org/apache/commons/ssl/PKCS8Key.java
@@ -899,7 +899,7 @@ public class PKCS8Key {
public static byte[] formatAsPKCS8(byte[] privateKey, String oid,
Asn1PkcsStructure pkcs8) {
- Asn1BigInteger derZero = new Asn1BigInteger(BigInteger.ZERO);
+ Asn1Integer derZero = new Asn1Integer(BigInteger.ZERO);
Asn1Sequence outterSeq = new Asn1Sequence();
Asn1Sequence innerSeq = new Asn1Sequence();
Asn1OctetString octetsToAppend;
@@ -918,12 +918,12 @@ public class PKCS8Key {
throw new RuntimeException("invalid DSA key - can't find P, Q, G, X");
}
- Asn1BigInteger[] ints = new Asn1BigInteger[pkcs8.derIntegers.size()];
+ Asn1Integer[] ints = new Asn1Integer[pkcs8.derIntegers.size()];
pkcs8.derIntegers.toArray(ints);
- Asn1BigInteger p = ints[1];
- Asn1BigInteger q = ints[2];
- Asn1BigInteger g = ints[3];
- Asn1BigInteger x = ints[5];
+ Asn1Integer p = ints[1];
+ Asn1Integer q = ints[2];
+ Asn1Integer g = ints[3];
+ Asn1Integer x = ints[5];
byte[] encodedX = x.encode();
octetsToAppend = new Asn1OctetString(encodedX);
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1BigInteger.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1BigInteger.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1BigInteger.java
deleted file mode 100644
index f880840..0000000
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1BigInteger.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.kerby.asn1.type;
-
-import org.apache.kerby.asn1.UniversalTag;
-
-import java.io.IOException;
-import java.math.BigInteger;
-
-public class Asn1BigInteger extends Asn1Simple<BigInteger>
-{
- public Asn1BigInteger() {
- this(null);
- }
-
- public Asn1BigInteger(long value) {
- this(BigInteger.valueOf(value));
- }
-
- public Asn1BigInteger(BigInteger value) {
- super(UniversalTag.INTEGER, value);
- }
-
- protected void toBytes() {
- setBytes(getValue().toByteArray());
- }
-
- protected void toValue() throws IOException {
- setValue(new BigInteger(getBytes()));
- }
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Choice.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Choice.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Choice.java
index 59d4ba5..cb439b2 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Choice.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Choice.java
@@ -162,7 +162,7 @@ public class Asn1Choice extends AbstractAsn1Type<Asn1Type> {
protected Integer getFieldAsInteger(int index) {
Asn1Integer value = getFieldAs(index, Asn1Integer.class);
if (value != null) {
- return value.getValue();
+ return value.getValue().intValue();
}
return null;
}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/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 b506c2f..28d8a15 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
@@ -169,8 +169,8 @@ public abstract class Asn1CollectionType extends AbstractAsn1Type<Asn1Collection
protected Integer getFieldAsInteger(int index) {
Asn1Integer value = getFieldAs(index, Asn1Integer.class);
- if (value != null) {
- return value.getValue();
+ if (value != null && value.getValue() != null) {
+ return value.getValue().intValue();
}
return null;
}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Integer.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Integer.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Integer.java
index b0893a0..76b4222 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Integer.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Integer.java
@@ -24,23 +24,29 @@ import org.apache.kerby.asn1.UniversalTag;
import java.io.IOException;
import java.math.BigInteger;
-public class Asn1Integer extends Asn1Simple<Integer>
+public class Asn1Integer extends Asn1Simple<BigInteger>
{
public Asn1Integer() {
- this(null);
+ this((BigInteger) null);
}
public Asn1Integer(Integer value) {
+ this(BigInteger.valueOf(value));
+ }
+
+ public Asn1Integer(Long value) {
+ this(BigInteger.valueOf(value));
+ }
+
+ public Asn1Integer(BigInteger value) {
super(UniversalTag.INTEGER, value);
}
- @Override
protected void toBytes() {
- setBytes(BigInteger.valueOf(getValue()).toByteArray());
+ setBytes(getValue().toByteArray());
}
- @Override
protected void toValue() throws IOException {
- setValue(new BigInteger(getBytes()).intValue());
+ setValue(new BigInteger(getBytes()));
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Simple.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Simple.java b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Simple.java
index 4464000..11296be 100644
--- a/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Simple.java
+++ b/kerby-asn1/src/main/java/org/apache/kerby/asn1/type/Asn1Simple.java
@@ -166,8 +166,7 @@ public abstract class Asn1Simple<T> extends AbstractAsn1Type<T> {
case IA5_STRING:
return new Asn1IA5String();
case INTEGER:
- // instead of Asn1Integer, for safe in case large number
- return new Asn1BigInteger();
+ return new Asn1Integer();
case NULL:
return Asn1Null.INSTANCE;
case NUMERIC_STRING:
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/test/java/org/apache/kerby/asn1/PersonnelRecord.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/test/java/org/apache/kerby/asn1/PersonnelRecord.java b/kerby-asn1/src/test/java/org/apache/kerby/asn1/PersonnelRecord.java
index 39e08e6..20e4f5c 100644
--- a/kerby-asn1/src/test/java/org/apache/kerby/asn1/PersonnelRecord.java
+++ b/kerby-asn1/src/test/java/org/apache/kerby/asn1/PersonnelRecord.java
@@ -191,8 +191,10 @@ public class PersonnelRecord extends TaggingSet {
super(2, new Asn1Integer(value), true);
setEncodingOption(EncodingOption.IMPLICIT);
}
+
public EmployeeNumber() {
- this(null);
+ super(2, new Asn1Integer(), true);
+ setEncodingOption(EncodingOption.IMPLICIT);
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-asn1/src/test/java/org/apache/kerby/asn1/TestAsn1Integer.java
----------------------------------------------------------------------
diff --git a/kerby-asn1/src/test/java/org/apache/kerby/asn1/TestAsn1Integer.java b/kerby-asn1/src/test/java/org/apache/kerby/asn1/TestAsn1Integer.java
index e330da4..3ef76de 100644
--- a/kerby-asn1/src/test/java/org/apache/kerby/asn1/TestAsn1Integer.java
+++ b/kerby-asn1/src/test/java/org/apache/kerby/asn1/TestAsn1Integer.java
@@ -61,10 +61,10 @@ public class TestAsn1Integer {
testDecodingWith(1234567890, "0x02 04 49 96 02 D2");
}
- private void testDecodingWith(Integer expectedValue, String content) throws IOException {
+ private void testDecodingWith(int expectedValue, String content) throws IOException {
Asn1Integer decoded = new Asn1Integer();
decoded.setEncodingOption(EncodingOption.DER);
decoded.decode(Util.hex2bytes(content));
- Assert.assertEquals(expectedValue, decoded.getValue());
+ Assert.assertEquals(expectedValue, decoded.getValue().intValue());
}
}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/99f8a3ce/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/KrbIntegers.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/KrbIntegers.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/KrbIntegers.java
index 36fa3f2..1eef42e 100644
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/KrbIntegers.java
+++ b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/KrbIntegers.java
@@ -47,7 +47,7 @@ public class KrbIntegers extends KrbSequenceOfType<Asn1Integer> {
public List<Integer> getValues() {
List<Integer> results = new ArrayList<Integer>();
for (Asn1Integer value : getElements()) {
- results.add(value.getValue());
+ results.add(value.getValue().intValue());
}
return results;
}