diff options
| author | Raif S. Naffah <raif@swiftdsl.com.au> | 2006-02-23 12:54:46 +0000 |
|---|---|---|
| committer | Raif S. Naffah <raif@swiftdsl.com.au> | 2006-02-23 12:54:46 +0000 |
| commit | eb292aaa795e28e325d1e439e88f2ad526cb4e7e (patch) | |
| tree | ede11b56bbd8dd1d6d51a8efd5daed2ea4a69488 /gnu/java/security/util/DerUtil.java | |
| parent | 15fe13942e812b00a55e12bceb3e4a03322501fe (diff) | |
| download | classpath-eb292aaa795e28e325d1e439e88f2ad526cb4e7e.tar.gz | |
2006-02-23 Raif S. Naffah <raif@swiftdsl.com.au>
* gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java
(DEFAULT_PRIME_SIZE): Made public.
(DEFAULT_EXPONENT_SIZE): Likewise.
(setup): Handle DHParameterSpec as well.
* gnu/javax/crypto/key/dh/GnuDHKey.java (getEncoded): Return
defaultFormat instead of Raw.
* gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePublicKey): Use DerUtil.
* gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePrivateKey): Use DerUtil.
* gnu/javax/crypto/jce/GnuCrypto.java (run): Updated mapping of
KeyAgreement.DH.
Added mappings for AlgorithmParameters.DH and
AlgorithmParameterGenerator.DH.
* gnu/javax/crypto/jce/DiffieHellmanImpl.java: New file.
* gnu/javax/crypto/jce/sig/DHParametersGenerator.java: Likewise.
* gnu/javax/crypto/jce/sig/DHParameters.java: Likewise.
* gnu/javax/crypto/jce/sig/DHKeyFactory.java (engineGeneratePrivate):
Return result.
(engineGeneratePublic): Likewise.
* gnu/java/security/util/DerUtil.java: New file.
* gnu/java/security/sig/rsa/RSASignatureFactory.java (getNames):
Include only valid RSA PKCS1 (v1.5) signature names.
* gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java
(RSAPKCS1V1_5SignatureX509Codec): Removed.
(checkIsConstructed): Likewise.
* gnu/java/security/sig/dss/DSSSignatureX509Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodeSignature): Use DerUtil.
* gnu/java/security/key/rsa/RSAKeyPairX509Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePublicKey): Use DerUtil.
* gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePrivateKey): Use DerUtil.
* gnu/java/security/key/dss/DSSKeyPairX509Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePublicKey): Use DerUtil.
* gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java
(checkIsConstructed): Removed.
(checkIsBigInteger): Likewise.
(decodePrivateKey): Use DerUtil.
* gnu/java/security/key/dss/DSSKeyPairGenerator.java
(DEFAULT_MODULUS_LENGTH): Made it public.
* gnu/java/security/key/dss/DSSKey.java (getEncoded): Return
defaultFormat instead of Raw.
* gnu/java/security/jce/sig/DSSParametersGenerator.java: New file.
* gnu/java/security/jce/sig/DSSParameters.java: Likewise..
* gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePrivate):
Return result.
(engineGeneratePublic): Likewise.
* gnu/javax/crypto/DiffieHellmanImpl: Removed.
Diffstat (limited to 'gnu/java/security/util/DerUtil.java')
| -rw-r--r-- | gnu/java/security/util/DerUtil.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/gnu/java/security/util/DerUtil.java b/gnu/java/security/util/DerUtil.java new file mode 100644 index 000000000..26232ba98 --- /dev/null +++ b/gnu/java/security/util/DerUtil.java @@ -0,0 +1,64 @@ +/* DerUtil.java -- Utility methods for DER read/write operations + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.security.util; + +import gnu.java.security.der.DEREncodingException; +import gnu.java.security.der.DERValue; + +import java.math.BigInteger; + +/** + * Utility methods for DER encoding handling. + */ +public abstract class DerUtil +{ + public static final void checkIsConstructed(DERValue v, String msg) + throws DEREncodingException + { + if (! v.isConstructed()) + throw new DEREncodingException(msg); + } + + public static final void checkIsBigInteger(DERValue v, String msg) + throws DEREncodingException + { + if (! (v.getValue() instanceof BigInteger)) + throw new DEREncodingException(msg); + } +} |
