Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. From-SVN: r113887
This commit is contained in:
parent
eaec4980e1
commit
4f9533c772
1640 changed files with 126485 additions and 104808 deletions
|
@ -55,6 +55,7 @@ import java.security.InvalidParameterException;
|
|||
import java.security.PrivateKey;
|
||||
import java.security.PublicKey;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* An implementation of an {@link IKeyPairCodec} that knows how to encode /
|
||||
|
@ -65,6 +66,7 @@ import java.util.ArrayList;
|
|||
public class DSSKeyPairPKCS8Codec
|
||||
implements IKeyPairCodec
|
||||
{
|
||||
private static final Logger log = Logger.getLogger(DSSKeyPairPKCS8Codec.class.getName());
|
||||
private static final OID DSA_ALG_OID = new OID(Registry.DSA_OID_STRING);
|
||||
|
||||
// implicit 0-arguments constructor
|
||||
|
@ -137,7 +139,9 @@ public class DSSKeyPairPKCS8Codec
|
|||
DERValue derAlgorithmID = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE,
|
||||
algorithmID);
|
||||
|
||||
DERValue derPrivateKey = new DERValue(DER.OCTET_STRING, Util.trim(x));
|
||||
// The OCTET STRING is the DER encoding of an INTEGER.
|
||||
DERValue derX = new DERValue(DER.INTEGER, x);
|
||||
DERValue derPrivateKey = new DERValue(DER.OCTET_STRING, derX.getEncoded());
|
||||
|
||||
ArrayList pki = new ArrayList(3);
|
||||
pki.add(derVersion);
|
||||
|
@ -180,6 +184,8 @@ public class DSSKeyPairPKCS8Codec
|
|||
*/
|
||||
public PrivateKey decodePrivateKey(byte[] input)
|
||||
{
|
||||
log.entering("DSSKeyPairPKCS8Codec", "decodePrivateKey");
|
||||
|
||||
if (input == null)
|
||||
throw new InvalidParameterException("Input bytes MUST NOT be null");
|
||||
|
||||
|
@ -220,8 +226,13 @@ public class DSSKeyPairPKCS8Codec
|
|||
g = (BigInteger) val.getValue();
|
||||
|
||||
val = der.read();
|
||||
log.finest("val = " + val);
|
||||
byte[] xBytes = (byte[]) val.getValue();
|
||||
x = new BigInteger(1, xBytes);
|
||||
log.finest(Util.dumpString(xBytes, "xBytes: "));
|
||||
DERReader der2 = new DERReader(xBytes);
|
||||
val = der2.read();
|
||||
DerUtil.checkIsBigInteger(val, "Wrong X field");
|
||||
x = (BigInteger) val.getValue();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
|
@ -230,6 +241,7 @@ public class DSSKeyPairPKCS8Codec
|
|||
throw y;
|
||||
}
|
||||
|
||||
log.exiting("DSSKeyPairPKCS8Codec", "decodePrivateKey");
|
||||
return new DSSPrivateKey(Registry.PKCS8_ENCODING_ID, p, q, g, x);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue