diff options
| author | Andrew Haley <aph@redhat.com> | 2016-09-30 16:24:48 +0000 |
|---|---|---|
| committer | Andrew Haley <aph@gcc.gnu.org> | 2016-09-30 16:24:48 +0000 |
| commit | 07b78716af6a9d7c9fd1e94d9baf94a52c873947 (patch) | |
| tree | 3f22b3241c513ad168c8353805614ae1249410f4 /libjava/classpath/gnu/java/security/jce | |
| parent | eae993948bae8b788c53772bcb9217c063716f93 (diff) | |
| download | gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.zip gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.gz gcc-07b78716af6a9d7c9fd1e94d9baf94a52c873947.tar.bz2 | |
Makefile.def: Remove libjava.
2016-09-30 Andrew Haley <aph@redhat.com>
* Makefile.def: Remove libjava.
* Makefile.tpl: Likewise.
* Makefile.in: Regenerate.
* configure.ac: Likewise.
* configure: Likewise.
* gcc/java: Remove.
* libjava: Likewise.
From-SVN: r240662
Diffstat (limited to 'libjava/classpath/gnu/java/security/jce')
44 files changed, 0 insertions, 3934 deletions
diff --git a/libjava/classpath/gnu/java/security/jce/hash/HavalSpi.java b/libjava/classpath/gnu/java/security/jce/hash/HavalSpi.java deleted file mode 100644 index 7c0a602..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/HavalSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* HavalSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the HAVAL <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class HavalSpi - extends MessageDigestAdapter -{ - public HavalSpi() - { - super(Registry.HAVAL_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/MD2Spi.java b/libjava/classpath/gnu/java/security/jce/hash/MD2Spi.java deleted file mode 100644 index 76def7a..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/MD2Spi.java +++ /dev/null @@ -1,55 +0,0 @@ -/* MD2Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD2 <i>Service Provider Interface</i> (<b>SPI</b>) - * adapter. - */ -public class MD2Spi - extends MessageDigestAdapter -{ - /** Trivial 0-arguments constructor. */ - public MD2Spi() - { - super(Registry.MD2_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/MD4Spi.java b/libjava/classpath/gnu/java/security/jce/hash/MD4Spi.java deleted file mode 100644 index 125943d..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/MD4Spi.java +++ /dev/null @@ -1,55 +0,0 @@ -/* MD4Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD4 <i>Service Provider Interface</i> (<b>SPI</b>) - * adapter. - */ -public class MD4Spi - extends MessageDigestAdapter -{ - /** Trivial 0-arguments constructor. */ - public MD4Spi() - { - super(Registry.MD4_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/MD5Spi.java b/libjava/classpath/gnu/java/security/jce/hash/MD5Spi.java deleted file mode 100644 index 25d9240..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/MD5Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* MD5Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD5 <i>Service Provider Interface</i> (<b>SPI</b>) - * adapter. - */ -public class MD5Spi - extends MessageDigestAdapter -{ - public MD5Spi() - { - super(Registry.MD5_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/MessageDigestAdapter.java b/libjava/classpath/gnu/java/security/jce/hash/MessageDigestAdapter.java deleted file mode 100644 index 2651ecf..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/MessageDigestAdapter.java +++ /dev/null @@ -1,133 +0,0 @@ -/* MessageDigestAdapter.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.hash.IMessageDigest; -import gnu.java.security.hash.HashFactory; - -import java.security.DigestException; -import java.security.MessageDigestSpi; - -/** - * The implementation of a generic {@link java.security.MessageDigest} adapter - * class to wrap GNU hash instances. - * <p> - * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>) for - * the {@link java.security.MessageDigest} class, which provides the - * functionality of a message digest algorithm, such as MD5 or SHA. Message - * digests are secure one-way hash functions that take arbitrary-sized data and - * output a fixed-length hash value. - * <p> - * All the abstract methods in the {@link MessageDigestSpi} class are - * implemented by this class and all its sub-classes. - * <p> - * All the implementations which subclass this object, and which are serviced by - * the GNU provider implement the {@link Cloneable} interface. - */ -class MessageDigestAdapter - extends MessageDigestSpi - implements Cloneable -{ - /** Our underlying hash instance. */ - private IMessageDigest adaptee; - - /** - * Trivial protected constructor. - * - * @param mdName the canonical name of the hash algorithm. - */ - protected MessageDigestAdapter(String mdName) - { - this(HashFactory.getInstance(mdName)); - } - - /** - * Private constructor for cloning purposes. - * - * @param adaptee a clone of the underlying hash algorithm instance. - */ - private MessageDigestAdapter(IMessageDigest adaptee) - { - super(); - - this.adaptee = adaptee; - } - - public Object clone() - { - return new MessageDigestAdapter((IMessageDigest) adaptee.clone()); - } - - public int engineGetDigestLength() - { - return adaptee.hashSize(); - } - - public void engineUpdate(byte input) - { - adaptee.update(input); - } - - public void engineUpdate(byte[] input, int offset, int len) - { - adaptee.update(input, offset, len); - } - - public byte[] engineDigest() - { - return adaptee.digest(); - } - - public int engineDigest(byte[] buf, int offset, int len) - throws DigestException - { - int result = adaptee.hashSize(); - if (len < result) - throw new DigestException(); - - byte[] md = adaptee.digest(); - System.arraycopy(md, 0, buf, offset, result); - return result; - } - - public void engineReset() - { - adaptee.reset(); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/RipeMD128Spi.java b/libjava/classpath/gnu/java/security/jce/hash/RipeMD128Spi.java deleted file mode 100644 index 499996c..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/RipeMD128Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* RipeMD128Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the RIPEMD-128 <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class RipeMD128Spi - extends MessageDigestAdapter -{ - public RipeMD128Spi() - { - super(Registry.RIPEMD128_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/RipeMD160Spi.java b/libjava/classpath/gnu/java/security/jce/hash/RipeMD160Spi.java deleted file mode 100644 index a62bea6..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/RipeMD160Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* RipeMD160Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the RIPEMD-160 <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class RipeMD160Spi - extends MessageDigestAdapter -{ - public RipeMD160Spi() - { - super(Registry.RIPEMD160_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/Sha160Spi.java b/libjava/classpath/gnu/java/security/jce/hash/Sha160Spi.java deleted file mode 100644 index ea2dfe2..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/Sha160Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha160Spi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-1 (160-bit) <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class Sha160Spi - extends MessageDigestAdapter -{ - public Sha160Spi() - { - super(Registry.SHA160_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/Sha256Spi.java b/libjava/classpath/gnu/java/security/jce/hash/Sha256Spi.java deleted file mode 100644 index 39d31d0..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/Sha256Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha256Spi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-2-1 (256-bit) <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class Sha256Spi - extends MessageDigestAdapter -{ - public Sha256Spi() - { - super(Registry.SHA256_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/Sha384Spi.java b/libjava/classpath/gnu/java/security/jce/hash/Sha384Spi.java deleted file mode 100644 index fa1e3f9..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/Sha384Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha384Spi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-2-2 (384-bit) <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class Sha384Spi - extends MessageDigestAdapter -{ - public Sha384Spi() - { - super(Registry.SHA384_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/Sha512Spi.java b/libjava/classpath/gnu/java/security/jce/hash/Sha512Spi.java deleted file mode 100644 index 4bd39da..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/Sha512Spi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha512Spi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-2-3 (512-bit) <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class Sha512Spi - extends MessageDigestAdapter -{ - public Sha512Spi() - { - super(Registry.SHA512_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/TigerSpi.java b/libjava/classpath/gnu/java/security/jce/hash/TigerSpi.java deleted file mode 100644 index 3d38c84..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/TigerSpi.java +++ /dev/null @@ -1,55 +0,0 @@ -/* TigerSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the Tiger <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class TigerSpi - extends MessageDigestAdapter -{ - /** Trivial 0-arguments constructor. */ - public TigerSpi() - { - super(Registry.TIGER_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/hash/WhirlpoolSpi.java b/libjava/classpath/gnu/java/security/jce/hash/WhirlpoolSpi.java deleted file mode 100644 index 68a3a70..0000000 --- a/libjava/classpath/gnu/java/security/jce/hash/WhirlpoolSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* WhirlpoolSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.hash; - -import gnu.java.security.Registry; - -/** - * The implementation of the Whirlpool <i>Service Provider Interface</i> - * (<b>SPI</b>) adapter. - */ -public class WhirlpoolSpi - extends MessageDigestAdapter -{ - public WhirlpoolSpi() - { - super(Registry.WHIRLPOOL_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/HavalRandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/HavalRandomSpi.java deleted file mode 100644 index ebf80f2..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/HavalRandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* HavalRandomSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the HAVAL-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class HavalRandomSpi - extends SecureRandomAdapter -{ - public HavalRandomSpi() - { - super(Registry.HAVAL_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/MD2RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/MD2RandomSpi.java deleted file mode 100644 index 8b9abe4..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/MD2RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* MD2RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD2-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class MD2RandomSpi - extends SecureRandomAdapter -{ - public MD2RandomSpi() - { - super(Registry.MD2_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/MD4RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/MD4RandomSpi.java deleted file mode 100644 index 2a71d6a..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/MD4RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* MD4RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD4-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class MD4RandomSpi - extends SecureRandomAdapter -{ - public MD4RandomSpi() - { - super(Registry.MD4_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/MD5RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/MD5RandomSpi.java deleted file mode 100644 index 8fb50e1..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/MD5RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* MD5RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the MD5-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class MD5RandomSpi - extends SecureRandomAdapter -{ - public MD5RandomSpi() - { - super(Registry.MD5_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/RipeMD128RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/RipeMD128RandomSpi.java deleted file mode 100644 index 6f8dde0..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/RipeMD128RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* RipeMD128RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the RIPEMD128-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class RipeMD128RandomSpi - extends SecureRandomAdapter -{ - public RipeMD128RandomSpi() - { - super(Registry.RIPEMD128_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/RipeMD160RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/RipeMD160RandomSpi.java deleted file mode 100644 index 6bb4e2b..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/RipeMD160RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* RipeMD160RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the RIPEMD160-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class RipeMD160RandomSpi - extends SecureRandomAdapter -{ - public RipeMD160RandomSpi() - { - super(Registry.RIPEMD160_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java b/libjava/classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java deleted file mode 100644 index 9307cfa..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/SecureRandomAdapter.java +++ /dev/null @@ -1,184 +0,0 @@ -/* SecureRandomAdapter.java -- - Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.action.GetSecurityPropertyAction; -import gnu.classpath.SystemProperties; -import gnu.java.security.prng.LimitReachedException; -import gnu.java.security.prng.MDGenerator; - -import java.security.AccessController; -import java.security.SecureRandom; -import java.security.SecureRandomSpi; - -import java.util.Collections; -import java.util.logging.Level; -import java.util.logging.Logger; - -import java.io.InputStream; -import java.io.IOException; - -import java.net.MalformedURLException; -import java.net.URL; - -/** - * <p>The implementation of a generic {@link java.security.SecureRandom} adapter - * class to wrap gnu.crypto prng instances based on Message Digest algorithms.</p> - * - * <p>This class defines the <i>Service Provider Interface</i> (<b>SPI</b>) for - * the {@link java.security.SecureRandom} class, which provides the - * functionality of a cryptographically strong pseudo-random number generator.</p> - * - * <p>All the abstract methods in the {@link SecureRandomSpi} class are - * implemented by this class and all its sub-classes.</p> - */ -public abstract class SecureRandomAdapter - extends SecureRandomSpi -{ - - private boolean isSeeded = false; - - /** Our underlying prng instance. */ - private MDGenerator adaptee = new MDGenerator(); - - /** The name of the message digest algorithm used by the adaptee. */ - private String mdName; - - private static final Logger logger = - Logger.getLogger(SecureRandom.class.getName()); - - private static final String SECURERANDOM_SOURCE = "securerandom.source"; - private static final String JAVA_SECURITY_EGD = "java.security.egd"; - - /** - * <p>Trivial protected constructor.</p> - * - * @param mdName the canonical name of the underlying hash algorithm. - */ - protected SecureRandomAdapter(String mdName) - { - super(); - - this.mdName = mdName; - adaptee.init (Collections.singletonMap (MDGenerator.MD_NAME, mdName)); - } - - public static final byte[] getSeed(int numBytes) - { - URL sourceUrl = null; - String urlStr = null; - - byte[] buffer = new byte[numBytes]; - - GetSecurityPropertyAction action = - new GetSecurityPropertyAction(SECURERANDOM_SOURCE); - try - { - urlStr = (String) AccessController.doPrivileged(action); - if (urlStr != null) - sourceUrl = new URL(urlStr); - } - catch (MalformedURLException ignored) - { - logger.log(Level.WARNING, - SECURERANDOM_SOURCE + " property is malformed: {0}", - urlStr); - } - - if (sourceUrl == null) - { - try - { - urlStr = SystemProperties.getProperty(JAVA_SECURITY_EGD); - if (urlStr != null) - sourceUrl = new URL(urlStr); - } - catch (MalformedURLException mue) - { - logger.log(Level.WARNING, - JAVA_SECURITY_EGD + " property is malformed: {0}", - urlStr); - } - } - - if (sourceUrl != null) - { - try - { - InputStream in = sourceUrl.openStream(); - in.read(buffer); - return buffer; - } - catch (IOException ioe) - { - logger.log(Level.FINE, "error reading random bytes", ioe); - } - } - - // If we get here, we did not get any seed from a property URL. - VMSecureRandom.generateSeed(buffer, 0, buffer.length); - return buffer; - } - - public byte[] engineGenerateSeed(int numBytes) - { - return getSeed(numBytes); - } - - public void engineNextBytes(byte[] bytes) - { - if (!isSeeded) - { - engineSetSeed(engineGenerateSeed(32)); - } - try - { - adaptee.nextBytes(bytes, 0, bytes.length); - } - catch (LimitReachedException ignored) - { - } - } - - public void engineSetSeed(byte[] seed) - { - adaptee.addRandomBytes (seed); - isSeeded = true; - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/Sha160RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/Sha160RandomSpi.java deleted file mode 100644 index ba4d222..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/Sha160RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha160RandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA1-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class Sha160RandomSpi - extends SecureRandomAdapter -{ - public Sha160RandomSpi() - { - super(Registry.SHA160_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/Sha256RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/Sha256RandomSpi.java deleted file mode 100644 index a6ddb70..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/Sha256RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha256RandomSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-256 based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class Sha256RandomSpi - extends SecureRandomAdapter -{ - public Sha256RandomSpi() - { - super(Registry.SHA256_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/Sha384RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/Sha384RandomSpi.java deleted file mode 100644 index 4954b1b..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/Sha384RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha384RandomSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-384 based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class Sha384RandomSpi - extends SecureRandomAdapter -{ - public Sha384RandomSpi() - { - super(Registry.SHA384_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/Sha512RandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/Sha512RandomSpi.java deleted file mode 100644 index 27de7f3..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/Sha512RandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Sha512RandomSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the SHA-512 based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class Sha512RandomSpi - extends SecureRandomAdapter -{ - public Sha512RandomSpi() - { - super(Registry.SHA512_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/TigerRandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/TigerRandomSpi.java deleted file mode 100644 index 722ab32..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/TigerRandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* TigerRandomSpi.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the Tiger based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class TigerRandomSpi - extends SecureRandomAdapter -{ - public TigerRandomSpi() - { - super(Registry.TIGER_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/prng/WhirlpoolRandomSpi.java b/libjava/classpath/gnu/java/security/jce/prng/WhirlpoolRandomSpi.java deleted file mode 100644 index 5da43d7..0000000 --- a/libjava/classpath/gnu/java/security/jce/prng/WhirlpoolRandomSpi.java +++ /dev/null @@ -1,54 +0,0 @@ -/* WhirlpoolRandomSpi.java -- - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.prng; - -import gnu.java.security.Registry; - -/** - * The implementation of the Whirlpool-based SecureRandom <i>Service Provider - * Interface</i> (<b>SPI</b>) adapter. - */ -public class WhirlpoolRandomSpi - extends SecureRandomAdapter -{ - public WhirlpoolRandomSpi() - { - super(Registry.WHIRLPOOL_HASH); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/DSSKeyFactory.java b/libjava/classpath/gnu/java/security/jce/sig/DSSKeyFactory.java deleted file mode 100644 index ec99343..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/DSSKeyFactory.java +++ /dev/null @@ -1,221 +0,0 @@ -/* DSSKeyFactory.java -- JCE DSA key factory Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.key.dss.DSSKeyPairPKCS8Codec; -import gnu.java.security.key.dss.DSSKeyPairX509Codec; -import gnu.java.security.key.dss.DSSPrivateKey; -import gnu.java.security.key.dss.DSSPublicKey; - -import java.math.BigInteger; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.KeyFactorySpi; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.interfaces.DSAPrivateKey; -import java.security.interfaces.DSAPublicKey; -import java.security.spec.DSAPrivateKeySpec; -import java.security.spec.DSAPublicKeySpec; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; -import java.security.spec.PKCS8EncodedKeySpec; -import java.security.spec.X509EncodedKeySpec; - -/** - * DSA key factory. - * - * @author Casey Marshall (rsdio@metastatic.org) - */ -public class DSSKeyFactory - extends KeyFactorySpi -{ - // implicit 0-arguments constructor - - protected PublicKey engineGeneratePublic(KeySpec keySpec) - throws InvalidKeySpecException - { - if (keySpec instanceof DSAPublicKeySpec) - { - DSAPublicKeySpec spec = (DSAPublicKeySpec) keySpec; - BigInteger p = spec.getP(); - BigInteger q = spec.getQ(); - BigInteger g = spec.getG(); - BigInteger y = spec.getY(); - return new DSSPublicKey(Registry.X509_ENCODING_ID, p, q, g, y); - } - if (keySpec instanceof X509EncodedKeySpec) - { - X509EncodedKeySpec spec = (X509EncodedKeySpec) keySpec; - byte[] encoded = spec.getEncoded(); - PublicKey result; - try - { - result = new DSSKeyPairX509Codec().decodePublicKey(encoded); - return result; - } - catch (RuntimeException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - throw new InvalidKeySpecException("Unsupported (public) key specification"); - } - - protected PrivateKey engineGeneratePrivate(KeySpec keySpec) - throws InvalidKeySpecException - { - if (keySpec instanceof DSAPrivateKeySpec) - { - DSAPrivateKeySpec spec = (DSAPrivateKeySpec) keySpec; - BigInteger p = spec.getP(); - BigInteger q = spec.getQ(); - BigInteger g = spec.getG(); - BigInteger x = spec.getX(); - return new DSSPrivateKey(Registry.PKCS8_ENCODING_ID, p, q, g, x); - } - if (keySpec instanceof PKCS8EncodedKeySpec) - { - PKCS8EncodedKeySpec spec = (PKCS8EncodedKeySpec) keySpec; - byte[] encoded = spec.getEncoded(); - PrivateKey result; - try - { - result = new DSSKeyPairPKCS8Codec().decodePrivateKey(encoded); - return result; - } - catch (RuntimeException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - throw new InvalidKeySpecException("Unsupported (private) key specification"); - } - - protected KeySpec engineGetKeySpec(Key key, Class keySpec) - throws InvalidKeySpecException - { - if (key instanceof DSAPublicKey) - { - if (keySpec.isAssignableFrom(DSAPublicKeySpec.class)) - { - DSAPublicKey dsaKey = (DSAPublicKey) key; - BigInteger p = dsaKey.getParams().getP(); - BigInteger q = dsaKey.getParams().getQ(); - BigInteger g = dsaKey.getParams().getG(); - BigInteger y = dsaKey.getY(); - return new DSAPublicKeySpec(y, p, q, g); - } - if (keySpec.isAssignableFrom(X509EncodedKeySpec.class)) - { - if (key instanceof DSSPublicKey) - { - DSSPublicKey dssKey = (DSSPublicKey) key; - byte[] encoded = dssKey.getEncoded(Registry.X509_ENCODING_ID); - return new X509EncodedKeySpec(encoded); - } - if (Registry.X509_ENCODING_SORT_NAME.equalsIgnoreCase(key.getFormat())) - { - byte[] encoded = key.getEncoded(); - return new X509EncodedKeySpec(encoded); - } - throw new InvalidKeySpecException( - "Wrong key type or unsupported (public) key specification"); - } - throw new InvalidKeySpecException("Unsupported (public) key specification"); - } - if (key instanceof DSAPrivateKey) - { - if (keySpec.isAssignableFrom(DSAPrivateKeySpec.class)) - { - DSAPrivateKey dsaKey = (DSAPrivateKey) key; - BigInteger p = dsaKey.getParams().getP(); - BigInteger q = dsaKey.getParams().getQ(); - BigInteger g = dsaKey.getParams().getG(); - BigInteger x = dsaKey.getX(); - return new DSAPrivateKeySpec(x, p, q, g); - } - if (keySpec.isAssignableFrom(PKCS8EncodedKeySpec.class)) - { - if (key instanceof DSSPrivateKey) - { - DSSPrivateKey dssKey = (DSSPrivateKey) key; - byte[] encoded = dssKey.getEncoded(Registry.PKCS8_ENCODING_ID); - return new PKCS8EncodedKeySpec(encoded); - } - if (Registry.PKCS8_ENCODING_SHORT_NAME.equalsIgnoreCase(key.getFormat())) - { - byte[] encoded = key.getEncoded(); - return new PKCS8EncodedKeySpec(encoded); - } - throw new InvalidKeySpecException( - "Wrong key type or unsupported (private) key specification"); - } - throw new InvalidKeySpecException("Unsupported (private) key specification"); - } - throw new InvalidKeySpecException("Wrong key type or unsupported key specification"); - } - - protected Key engineTranslateKey(Key key) throws InvalidKeyException - { - if ((key instanceof DSSPublicKey) || (key instanceof DSSPrivateKey)) - return key; - - if (key instanceof DSAPublicKey) - { - DSAPublicKey dsaKey = (DSAPublicKey) key; - BigInteger p = dsaKey.getParams().getP(); - BigInteger q = dsaKey.getParams().getQ(); - BigInteger g = dsaKey.getParams().getG(); - BigInteger y = dsaKey.getY(); - return new DSSPublicKey(Registry.X509_ENCODING_ID, p, q, g, y); - } - if (key instanceof DSAPrivateKey) - { - DSAPrivateKey dsaKey = (DSAPrivateKey) key; - BigInteger p = dsaKey.getParams().getP(); - BigInteger q = dsaKey.getParams().getQ(); - BigInteger g = dsaKey.getParams().getG(); - BigInteger x = dsaKey.getX(); - return new DSSPrivateKey(Registry.PKCS8_ENCODING_ID, p, q, g, x); - } - throw new InvalidKeyException("Wrong key type"); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java b/libjava/classpath/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java deleted file mode 100644 index 2d33e16..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java +++ /dev/null @@ -1,146 +0,0 @@ -/* DSSKeyPairGeneratorSpi.java -- - Copyright 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.key.dss.DSSKeyPairGenerator; - -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidParameterException; -import java.security.SecureRandom; -import java.security.interfaces.DSAKeyPairGenerator; -import java.security.interfaces.DSAParams; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.DSAParameterSpec; -import java.util.HashMap; - -/** - * The implementation of a {@link java.security.KeyPairGenerator} adapter class - * to wrap GNU DSS keypair generator instances. - * <p> - * In case the client does not explicitly initialize the KeyPairGenerator (via a - * call to an <code>initialize()</code> method), the GNU provider uses a - * default <i>modulus</i> size (keysize) of 1024 bits. - */ -public class DSSKeyPairGeneratorSpi - extends KeyPairGeneratorAdapter - implements DSAKeyPairGenerator -{ - public DSSKeyPairGeneratorSpi() - { - super(Registry.DSS_KPG); - } - - public void initialize(int keysize, SecureRandom random) - { - this.initialize(keysize, false, random); - } - - public void initialize(AlgorithmParameterSpec params, SecureRandom random) - throws InvalidAlgorithmParameterException - { - HashMap attributes = new HashMap(); - if (params != null) - { - if (! (params instanceof DSAParameterSpec)) - throw new InvalidAlgorithmParameterException( - "Parameters argument is not a non-null instance, or " - + "sub-instance, of java.security.spec.DSAParameterSpec"); - attributes.put(DSSKeyPairGenerator.DSS_PARAMETERS, params); - } - if (random != null) - attributes.put(DSSKeyPairGenerator.SOURCE_OF_RANDOMNESS, random); - - attributes.put(DSSKeyPairGenerator.PREFERRED_ENCODING_FORMAT, - Integer.valueOf(Registry.ASN1_ENCODING_ID)); - try - { - adaptee.setup(attributes); - } - catch (IllegalArgumentException x) - { - throw new InvalidAlgorithmParameterException(x.getMessage(), x); - } - } - - public void initialize(DSAParams params, SecureRandom random) - throws InvalidParameterException - { - if (params == null || !(params instanceof DSAParameterSpec)) - throw new InvalidParameterException( - "Parameters argument is either null or is not an instance, or " - + "sub-instance, of java.security.spec.DSAParameterSpec"); - DSAParameterSpec spec = (DSAParameterSpec) params; - try - { - this.initialize((AlgorithmParameterSpec) spec, random); - } - catch (InvalidAlgorithmParameterException x) - { - InvalidParameterException y = new InvalidParameterException(x.getMessage()); - y.initCause(x); - throw y; - } - } - - public void initialize(int modlen, boolean genParams, SecureRandom random) - throws InvalidParameterException - { - HashMap attributes = new HashMap(); - attributes.put(DSSKeyPairGenerator.MODULUS_LENGTH, Integer.valueOf(modlen)); - if (random != null) - attributes.put(DSSKeyPairGenerator.SOURCE_OF_RANDOMNESS, random); - - attributes.put(DSSKeyPairGenerator.USE_DEFAULTS, - Boolean.valueOf(! genParams)); - attributes.put(DSSKeyPairGenerator.STRICT_DEFAULTS, Boolean.TRUE); - attributes.put(DSSKeyPairGenerator.PREFERRED_ENCODING_FORMAT, - Integer.valueOf(Registry.ASN1_ENCODING_ID)); - try - { - adaptee.setup(attributes); - } - catch (IllegalArgumentException x) - { - InvalidParameterException y = new InvalidParameterException(x.getMessage()); - y.initCause(x); - throw y; - } - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/DSSParameters.java b/libjava/classpath/gnu/java/security/jce/sig/DSSParameters.java deleted file mode 100644 index fbf778d..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/DSSParameters.java +++ /dev/null @@ -1,220 +0,0 @@ -/* DSSParameters.java -- DSS parameters DAO - 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.jce.sig; - -import gnu.java.lang.CPStringBuilder; - -import gnu.java.security.Registry; -import gnu.java.security.der.DER; -import gnu.java.security.der.DERReader; -import gnu.java.security.der.DERValue; -import gnu.java.security.der.DERWriter; -import gnu.java.security.util.DerUtil; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.AlgorithmParametersSpi; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.DSAParameterSpec; -import java.security.spec.InvalidParameterSpecException; -import java.util.ArrayList; - -/** - * A JCE-specific Data Access Object (DAO) for DSS parameters. - */ -public class DSSParameters - extends AlgorithmParametersSpi -{ - /** - * A prime modulus, where <code>2<sup>L-1</sup> < p < 2<sup>L</sup></code> - * for <code>512 <= L <= 1024</code> and <code>L</code> a multiple of - * <code>64</code>. - */ - private BigInteger p; - - /** - * A prime divisor of <code>p - 1</code>, where <code>2<sup>159</sup> < q - * < 2<sup>160</sup></code>. - */ - private BigInteger q; - - /** - * <code>g = h<sup>(p-1)</sup>/q mod p</code>, where <code>h</code> is any - * integer with <code>1 < h < p - 1</code> such that <code>h<sup> - * (p-1)</sup>/q mod p > 1</code> (<code>g</code> has order <code>q mod p - * </code>). - */ - private BigInteger g; - - // default 0-arguments constructor - - protected void engineInit(AlgorithmParameterSpec spec) - throws InvalidParameterSpecException - { - if (! (spec instanceof DSAParameterSpec)) - throw new InvalidParameterSpecException("Wrong AlgorithmParameterSpec type: " - + spec.getClass().getName()); - DSAParameterSpec dsaSpec = (DSAParameterSpec) spec; - p = dsaSpec.getP(); - q = dsaSpec.getQ(); - g = dsaSpec.getG(); - } - - /** - * Decodes the set of DSS parameters as per RFC-2459; i.e. the DER-encoded - * form of the following ASN.1 construct: - * - * <pre> - * DssParams ::= SEQUENCE { - * p INTEGER, - * q INTEGER, - * g INTEGER - * } - * </pre> - */ - protected void engineInit(byte[] params) throws IOException - { - DERReader der = new DERReader(params); - - DERValue derParams = der.read(); - DerUtil.checkIsConstructed(derParams, "Wrong DSS Parameters field"); - - DERValue val = der.read(); - DerUtil.checkIsBigInteger(val, "Wrong P field"); - p = (BigInteger) val.getValue(); - val = der.read(); - DerUtil.checkIsBigInteger(val, "Wrong Q field"); - q = (BigInteger) val.getValue(); - val = der.read(); - DerUtil.checkIsBigInteger(val, "Wrong G field"); - g = (BigInteger) val.getValue(); - } - - protected void engineInit(byte[] params, String format) throws IOException - { - if (format != null) - { - format = format.trim(); - if (format.length() == 0) - throw new IOException("Format MUST NOT be an empty string"); - - if (! format.equalsIgnoreCase(Registry.ASN1_ENCODING_SHORT_NAME)) - throw new IOException("Unknown or unsupported format: " + format); - } - engineInit(params); - } - - protected AlgorithmParameterSpec engineGetParameterSpec(Class paramSpec) - throws InvalidParameterSpecException - { - if (! paramSpec.isAssignableFrom(DSAParameterSpec.class)) - throw new InvalidParameterSpecException("Wrong AlgorithmParameterSpec type: " - + paramSpec.getName()); - return new DSAParameterSpec(p, q, g); - } - - /** - * Encodes the set of DSS parameters as per RFC-2459; i.e. as the DER-encoded - * form of the following ASN.1 construct: - * - * <pre> - * DssParams ::= SEQUENCE { - * p INTEGER, - * q INTEGER, - * g INTEGER - * } - * </pre> - */ - protected byte[] engineGetEncoded() throws IOException - { - DERValue derP = new DERValue(DER.INTEGER, p); - DERValue derQ = new DERValue(DER.INTEGER, q); - DERValue derG = new DERValue(DER.INTEGER, g); - - ArrayList params = new ArrayList(3); - params.add(derP); - params.add(derQ); - params.add(derG); - DERValue derParams = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, params); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DERWriter.write(baos, derParams); - byte[] result = baos.toByteArray(); - - return result; - } - - protected byte[] engineGetEncoded(String format) throws IOException - { - if (format != null) - { - format = format.trim(); - if (format.length() == 0) - throw new IOException("Format MUST NOT be an empty string"); - - if (! format.equalsIgnoreCase(Registry.ASN1_ENCODING_SHORT_NAME)) - throw new IOException("Unknown or unsupported format: " + format); - } - return engineGetEncoded(); - } - - protected String engineToString() - { - CPStringBuilder sb = new CPStringBuilder("p="); - if (p == null) - sb.append("???"); - else - sb.append("0x").append(p.toString(16)); - - sb.append(", q="); - if (q == null) - sb.append("???"); - else - sb.append("0x").append(q.toString(16)); - - sb.append(", g="); - if (g == null) - sb.append("???"); - else - sb.append("0x").append(g.toString(16)); - - return sb.toString(); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/DSSParametersGenerator.java b/libjava/classpath/gnu/java/security/jce/sig/DSSParametersGenerator.java deleted file mode 100644 index 09c1386..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/DSSParametersGenerator.java +++ /dev/null @@ -1,125 +0,0 @@ -/* DSSParametersGenerator.java -- JCE Adapter for a generator of DSS parameters - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.key.dss.DSSKeyPairGenerator; -import gnu.java.security.key.dss.FIPS186; -import gnu.java.security.provider.Gnu; - -import java.math.BigInteger; -import java.security.AlgorithmParameterGeneratorSpi; -import java.security.AlgorithmParameters; -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidParameterException; -import java.security.NoSuchAlgorithmException; -import java.security.Provider; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.DSAParameterSpec; -import java.security.spec.InvalidParameterSpecException; - -/** - * A JCE Adapter for a generator of DSS parameters. - */ -public class DSSParametersGenerator - extends AlgorithmParameterGeneratorSpi -{ - private static final Provider GNU = new Gnu(); - - /** Size of the public modulus in bits. */ - private int modulusLength = -1; - - /** User specified source of randomness. */ - private SecureRandom rnd; - - /** Our concrete DSS parameters generator. */ - private FIPS186 fips; - - // default 0-arguments constructor - - protected void engineInit(int size, SecureRandom random) - { - if ((size % 64) != 0 || size < 512 || size > 1024) - throw new InvalidParameterException("Modulus size/length (in bits) MUST " - + "be a multiple of 64, greater than " - + "or equal to 512, and less than or " - + "equal to 1024"); - this.modulusLength = size; - this.rnd = random; - } - - protected void engineInit(AlgorithmParameterSpec spec, SecureRandom random) - throws InvalidAlgorithmParameterException - { - if (! (spec instanceof DSAParameterSpec)) - throw new InvalidAlgorithmParameterException("Wrong AlgorithmParameterSpec type: " - + spec.getClass().getName()); - DSAParameterSpec dsaSpec = (DSAParameterSpec) spec; - BigInteger p = dsaSpec.getP(); - int size = p.bitLength(); - this.engineInit(size, random); - } - - protected AlgorithmParameters engineGenerateParameters() - { - if (modulusLength < 1) - modulusLength = DSSKeyPairGenerator.DEFAULT_MODULUS_LENGTH; - - fips = new FIPS186(modulusLength, rnd); - BigInteger[] params = fips.generateParameters(); - BigInteger p = params[3]; - BigInteger q = params[2]; - BigInteger g = params[5]; - DSAParameterSpec spec = new DSAParameterSpec(p, q, g); - AlgorithmParameters result = null; - try - { - result = AlgorithmParameters.getInstance(Registry.DSS_KPG, GNU); - result.init(spec); - } - catch (NoSuchAlgorithmException ignore) - { - } - catch (InvalidParameterSpecException ignore) - { - } - return result; - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/DSSRawSignatureSpi.java b/libjava/classpath/gnu/java/security/jce/sig/DSSRawSignatureSpi.java deleted file mode 100644 index edee4e5..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/DSSRawSignatureSpi.java +++ /dev/null @@ -1,56 +0,0 @@ -/* DSSRawSignatureSpi.java -- - Copyright 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.dss.DSSSignatureRawCodec; - -/** - * The implementation of <i>Service Provider Interface</i> (<b>SPI</b>) - * adapter for the DSS (Digital Signature Standard) signature scheme, encoded - * and/or decoded in RAW format. - */ -public class DSSRawSignatureSpi - extends SignatureAdapter -{ - public DSSRawSignatureSpi() - { - super(Registry.DSS_SIG, new DSSSignatureRawCodec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/EncodedKeyFactory.java b/libjava/classpath/gnu/java/security/jce/sig/EncodedKeyFactory.java deleted file mode 100644 index ec74201..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/EncodedKeyFactory.java +++ /dev/null @@ -1,431 +0,0 @@ -/* EncodedKeyFactory.java -- JCE Encoded key factory Adapter - Copyright (C) 2006, 2010 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.jce.sig; - -import gnu.java.security.Configuration; -import gnu.java.security.Registry; -import gnu.java.security.key.dss.DSSPrivateKey; -import gnu.java.security.key.dss.DSSPublicKey; -import gnu.java.security.key.rsa.GnuRSAPrivateKey; -import gnu.java.security.key.rsa.GnuRSAPublicKey; - -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.math.BigInteger; -import java.security.InvalidKeyException; -import java.security.InvalidParameterException; -import java.security.Key; -import java.security.KeyFactorySpi; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.spec.DSAPrivateKeySpec; -import java.security.spec.DSAPublicKeySpec; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; -import java.security.spec.PKCS8EncodedKeySpec; -import java.security.spec.RSAPrivateCrtKeySpec; -import java.security.spec.RSAPublicKeySpec; -import java.security.spec.X509EncodedKeySpec; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.crypto.interfaces.DHPrivateKey; -import javax.crypto.interfaces.DHPublicKey; -import javax.crypto.spec.DHPrivateKeySpec; -import javax.crypto.spec.DHPublicKeySpec; - -/** - * A factory for keys encoded in either the X.509 format (for public keys) or - * the PKCS#8 format (for private keys). - */ -public class EncodedKeyFactory - extends KeyFactorySpi -{ - private static final Logger log = Configuration.DEBUG ? - Logger.getLogger(EncodedKeyFactory.class.getName()) : null; - - private static Object invokeConstructor(String className, Object[] params) - throws InvalidKeySpecException - { - Class clazz = getConcreteClass(className); - try - { - Constructor ctor = getConcreteCtor(clazz); - Object result = ctor.newInstance(params); - return result; - } - catch (InstantiationException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - catch (IllegalAccessException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - catch (InvocationTargetException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - - private static Class getConcreteClass(String className) - throws InvalidKeySpecException - { - try - { - Class result = Class.forName(className); - return result; - } - catch (ClassNotFoundException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - - private static Constructor getConcreteCtor(Class clazz) - throws InvalidKeySpecException - { - try - { - Constructor result = clazz.getConstructor(new Class[] {int.class, - BigInteger.class, - BigInteger.class, - BigInteger.class, - BigInteger.class}); - return result; - } - catch (NoSuchMethodException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - - private static Object invokeValueOf(String className, byte[] encoded) - throws InvalidKeySpecException - { - Class clazz = getConcreteClass(className); - try - { - Method valueOf = getValueOfMethod(clazz); - Object result = valueOf.invoke(null, new Object[] { encoded }); - return result; - } - catch (IllegalAccessException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - catch (InvocationTargetException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - - private static Method getValueOfMethod(Class clazz) - throws InvalidKeySpecException - { - try - { - Method result = clazz.getMethod("valueOf", new Class[] {byte[].class}); - return result; - } - catch (NoSuchMethodException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - - protected PublicKey engineGeneratePublic(KeySpec keySpec) - throws InvalidKeySpecException - { - if (Configuration.DEBUG) - log.entering(this.getClass().getName(), "engineGeneratePublic()", keySpec); - PublicKey result = null; - if (keySpec instanceof DSAPublicKeySpec) - result = decodeDSSPublicKey((DSAPublicKeySpec) keySpec); - else if (keySpec instanceof RSAPublicKeySpec) - result = decodeRSAPublicKey((RSAPublicKeySpec) keySpec); - else if (keySpec instanceof DHPublicKeySpec) - result = decodeDHPublicKey((DHPublicKeySpec) keySpec); - else - { - if (! (keySpec instanceof X509EncodedKeySpec)) - throw new InvalidKeySpecException("Unsupported key specification"); - - byte[] input = ((X509EncodedKeySpec) keySpec).getEncoded(); - boolean ok = false; - // try DSS - try - { - result = DSSPublicKey.valueOf(input); - ok = true; - } - catch (InvalidParameterException ignored) - { - if (Configuration.DEBUG) - log.log(Level.FINE, "Exception in DSSPublicKey.valueOf(). Ignore", - ignored); - } - if (! ok) // try RSA - try - { - result = GnuRSAPublicKey.valueOf(input); - ok = true; - } - catch (InvalidParameterException ignored) - { - if (Configuration.DEBUG) - log.log(Level.FINE, - "Exception in GnuRSAPublicKey.valueOf(). Ignore", - ignored); - } - if (! ok) // try DH - result = decodeDHPublicKey(input); - } - if (Configuration.DEBUG) - log.exiting(this.getClass().getName(), "engineGeneratePublic()", result); - return result; - } - - protected PrivateKey engineGeneratePrivate(KeySpec keySpec) - throws InvalidKeySpecException - { - if (Configuration.DEBUG) - log.entering(this.getClass().getName(), "engineGeneratePrivate()", keySpec); - PrivateKey result = null; - if (keySpec instanceof DSAPrivateKeySpec) - result = decodeDSSPrivateKey((DSAPrivateKeySpec) keySpec); - else if (keySpec instanceof RSAPrivateCrtKeySpec) - result = decodeRSAPrivateKey((RSAPrivateCrtKeySpec) keySpec); - else if (keySpec instanceof DHPrivateKeySpec) - result = decodeDHPrivateKey((DHPrivateKeySpec) keySpec); - else - { - if (! (keySpec instanceof PKCS8EncodedKeySpec)) - throw new InvalidKeySpecException("Unsupported key specification"); - - byte[] input = ((PKCS8EncodedKeySpec) keySpec).getEncoded(); - boolean ok = false; - // try DSS - try - { - result = DSSPrivateKey.valueOf(input); - ok = true; - } - catch (InvalidParameterException ignored) - { - if (Configuration.DEBUG) - log.log(Level.FINE, "Exception in DSSPrivateKey.valueOf(). Ignore", - ignored); - } - if (! ok) // try RSA - try - { - result = GnuRSAPrivateKey.valueOf(input); - ok = true; - } - catch (InvalidParameterException ignored) - { - if (Configuration.DEBUG) - log.log(Level.FINE, - "Exception in GnuRSAPrivateKey.valueOf(). Ignore", - ignored); - } - if (! ok) // try DH - result = decodeDHPrivateKey(input); - } - if (Configuration.DEBUG) - log.exiting(this.getClass().getName(), "engineGeneratePrivate()", result); - return result; - } - - protected KeySpec engineGetKeySpec(Key key, Class keySpec) - throws InvalidKeySpecException - { - if (key instanceof PublicKey - && Registry.X509_ENCODING_SORT_NAME.equalsIgnoreCase(key.getFormat()) - && keySpec.isAssignableFrom(X509EncodedKeySpec.class)) - return new X509EncodedKeySpec(key.getEncoded()); - - if (key instanceof PrivateKey - && Registry.PKCS8_ENCODING_SHORT_NAME.equalsIgnoreCase(key.getFormat()) - && keySpec.isAssignableFrom(PKCS8EncodedKeySpec.class)) - return new PKCS8EncodedKeySpec(key.getEncoded()); - - throw new InvalidKeySpecException("Unsupported format or invalid key spec class"); - } - - protected Key engineTranslateKey(Key key) throws InvalidKeyException - { - throw new InvalidKeyException("Key translation not supported"); - } - - /** - * @param spec an instance of {@link DSAPublicKeySpec} to decode. - * @return an instance of {@link DSSPublicKey} constructed from the - * information in the designated key-specification. - */ - private DSSPublicKey decodeDSSPublicKey(DSAPublicKeySpec spec) - { - BigInteger p = spec.getP(); - BigInteger q = spec.getQ(); - BigInteger g = spec.getG(); - BigInteger y = spec.getY(); - return new DSSPublicKey(Registry.X509_ENCODING_ID, p, q, g, y); - } - - /** - * @param spec an instance of {@link RSAPublicKeySpec} to decode. - * @return an instance of {@link GnuRSAPublicKey} constructed from the - * information in the designated key-specification. - */ - private GnuRSAPublicKey decodeRSAPublicKey(RSAPublicKeySpec spec) - { - BigInteger n = spec.getModulus(); - BigInteger e = spec.getPublicExponent(); - return new GnuRSAPublicKey(Registry.X509_ENCODING_ID, n, e); - } - - /** - * @param spec an instance of {@link DHPublicKeySpec} to decode. - * @return an instance of a {@link DHPublicKey} constructed from the - * information in the designated key-specification. - * @throws InvalidKeySpecException if no concrete implementation of the - * {@link DHPublicKey} interface exists at run-time, or if an - * exception occurs during its instantiation. - */ - private DHPublicKey decodeDHPublicKey(DHPublicKeySpec spec) - throws InvalidKeySpecException - { - BigInteger p = spec.getP(); - BigInteger g = spec.getG(); - BigInteger y = spec.getY(); - Object[] params = new Object[] {Integer.valueOf(Registry.X509_ENCODING_ID), - null, p, g, y}; - Object obj = invokeConstructor("gnu.javax.crypto.key.dh.GnuDHPublicKey", - params); - return (DHPublicKey) obj; - } - - /** - * @param encoded the bytes to decode. - * @return an instance of a {@link DHPublicKey} constructed from the - * information in the designated key-specification. - * @throws InvalidKeySpecException if no concrete implementation of the - * {@link DHPublicKey} interface exists at run-time, or if an - * exception occurs during its instantiation. - */ - private DHPublicKey decodeDHPublicKey(byte[] encoded) - throws InvalidKeySpecException - { - Object obj = invokeValueOf("gnu.javax.crypto.key.dh.GnuDHPublicKey", - encoded); - return (DHPublicKey) obj; - } - - /** - * @param spec an instance of {@link DSAPrivateKeySpec} to decode. - * @return an instance of {@link DSSPrivateKey} constructed from the - * information in the designated key-specification. - */ - private PrivateKey decodeDSSPrivateKey(DSAPrivateKeySpec spec) - { - BigInteger p = spec.getP(); - BigInteger q = spec.getQ(); - BigInteger g = spec.getG(); - BigInteger x = spec.getX(); - return new DSSPrivateKey(Registry.PKCS8_ENCODING_ID, p, q, g, x); - } - - /** - * @param spec an instance of {@link RSAPrivateCrtKeySpec} to decode. - * @return an instance of {@link GnuRSAPrivateKey} constructed from the - * information in the designated key-specification. - */ - private PrivateKey decodeRSAPrivateKey(RSAPrivateCrtKeySpec spec) - { - BigInteger n = spec.getModulus(); - BigInteger e = spec.getPublicExponent(); - BigInteger d = spec.getPrivateExponent(); - BigInteger p = spec.getPrimeP(); - BigInteger q = spec.getPrimeQ(); - BigInteger dP = spec.getPrimeExponentP(); - BigInteger dQ = spec.getPrimeExponentQ(); - BigInteger qInv = spec.getCrtCoefficient(); - return new GnuRSAPrivateKey(Registry.PKCS8_ENCODING_ID, - n, e, d, p, q, dP, dQ, qInv); - } - - /** - * @param spec an instance of {@link DHPrivateKeySpec} to decode. - * @return an instance of a {@link DHPrivateKey} constructed from the - * information in the designated key-specification. - * @throws InvalidKeySpecException if no concrete implementation of the - * {@link DHPrivateKey} interface exists at run-time, or if an - * exception occurs during its instantiation. - */ - private DHPrivateKey decodeDHPrivateKey(DHPrivateKeySpec spec) - throws InvalidKeySpecException - { - BigInteger p = spec.getP(); - BigInteger g = spec.getG(); - BigInteger x = spec.getX(); - Object[] params = new Object[] {Integer.valueOf(Registry.PKCS8_ENCODING_ID), - null, p, g, x}; - Object obj = invokeConstructor("gnu.javax.crypto.key.dh.GnuDHPrivateKey", - params); - return (DHPrivateKey) obj; - } - - /** - * @param encoded the bytes to decode. - * @return an instance of a {@link DHPrivateKey} constructed from the - * information in the designated key-specification. - * @throws InvalidKeySpecException if no concrete implementation of the - * {@link DHPrivateKey} interface exists at run-time, or if an - * exception occurs during its instantiation. - */ - private DHPrivateKey decodeDHPrivateKey(byte[] encoded) - throws InvalidKeySpecException - { - Object obj = invokeValueOf("gnu.javax.crypto.key.dh.GnuDHPrivateKey", - encoded); - return (DHPrivateKey) obj; - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java b/libjava/classpath/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java deleted file mode 100644 index 9d3e5ef..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java +++ /dev/null @@ -1,95 +0,0 @@ -/* KeyPairGeneratorAdapter.java -- - Copyright 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.key.IKeyPairGenerator; -import gnu.java.security.key.KeyPairGeneratorFactory; - -import java.security.InvalidAlgorithmParameterException; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; - -/** - * The implementation of a generic {@link java.security.KeyPairGenerator} - * adapter class to wrap GNU keypair generator instances. - * <p> - * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>) for - * the {@link java.security.KeyPairGenerator} class, which is used to generate - * pairs of public and private keys. - * <p> - * All the abstract methods in the {@link java.security.KeyPairGeneratorSpi} - * class are implemented by this class and all its sub-classes. - * <p> - * In case the client does not explicitly initialize the KeyPairGenerator (via a - * call to an <code>initialize()</code> method), the GNU provider supplies - * (and document) default values to be used. For example, the GNU provider uses - * a default <i>modulus</i> size (keysize) of 1024 bits for the DSS (Digital - * Signature Standard) a.k.a <i>DSA</i>. - */ -public abstract class KeyPairGeneratorAdapter - extends KeyPairGenerator -{ - /** Our underlying keypair instance. */ - protected IKeyPairGenerator adaptee; - - /** - * Trivial protected constructor. - * - * @param kpgName the canonical name of the keypair generator algorithm. - */ - protected KeyPairGeneratorAdapter(String kpgName) - { - super(kpgName); - - this.adaptee = KeyPairGeneratorFactory.getInstance(kpgName); - } - - public abstract void initialize(int keysize, SecureRandom random); - - public abstract void initialize(AlgorithmParameterSpec params, - SecureRandom random) - throws InvalidAlgorithmParameterException; - - public KeyPair generateKeyPair() - { - return adaptee.generate(); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/MD2withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/MD2withRSA.java deleted file mode 100644 index 353be21..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/MD2withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* MD2WithRSA.java -- RSA PKCS1 with MD2 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with MD2 hash and X.509 - * encoding format. - */ -public class MD2withRSA - extends SignatureAdapter -{ - public MD2withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD2_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/MD5withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/MD5withRSA.java deleted file mode 100644 index 42c481b..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/MD5withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* MD5withRSA.java -- RSA PKCS1 with MD5 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with MD5 hash and X.509 - * encoding format. - */ -public class MD5withRSA - extends SignatureAdapter -{ - public MD5withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.MD5_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/RSAKeyFactory.java b/libjava/classpath/gnu/java/security/jce/sig/RSAKeyFactory.java deleted file mode 100644 index 3ba49ed..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/RSAKeyFactory.java +++ /dev/null @@ -1,231 +0,0 @@ -/* RSAKeyFactory.java -- RSA key-factory JCE Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.key.rsa.GnuRSAPrivateKey; -import gnu.java.security.key.rsa.GnuRSAPublicKey; -import gnu.java.security.key.rsa.RSAKeyPairPKCS8Codec; -import gnu.java.security.key.rsa.RSAKeyPairX509Codec; - -import java.math.BigInteger; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.KeyFactorySpi; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.interfaces.RSAPrivateCrtKey; -import java.security.interfaces.RSAPrivateKey; -import java.security.interfaces.RSAPublicKey; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; -import java.security.spec.PKCS8EncodedKeySpec; -import java.security.spec.RSAPrivateCrtKeySpec; -import java.security.spec.RSAPrivateKeySpec; -import java.security.spec.RSAPublicKeySpec; -import java.security.spec.X509EncodedKeySpec; - -public class RSAKeyFactory - extends KeyFactorySpi -{ - // implicit 0-arguments constructor - - protected PublicKey engineGeneratePublic(KeySpec keySpec) - throws InvalidKeySpecException - { - if (keySpec instanceof RSAPublicKeySpec) - { - RSAPublicKeySpec spec = (RSAPublicKeySpec) keySpec; - BigInteger n = spec.getModulus(); - BigInteger e = spec.getPublicExponent(); - return new GnuRSAPublicKey(Registry.X509_ENCODING_ID, n, e); - } - if (keySpec instanceof X509EncodedKeySpec) - { - X509EncodedKeySpec spec = (X509EncodedKeySpec) keySpec; - byte[] encoded = spec.getEncoded(); - PublicKey result; - try - { - return new RSAKeyPairX509Codec().decodePublicKey(encoded); - } - catch (RuntimeException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - throw new InvalidKeySpecException("Unsupported (public) key specification"); - } - - protected PrivateKey engineGeneratePrivate(KeySpec keySpec) - throws InvalidKeySpecException - { - if (keySpec instanceof RSAPrivateCrtKeySpec) - { - RSAPrivateCrtKeySpec spec = (RSAPrivateCrtKeySpec) keySpec; - BigInteger n = spec.getModulus(); - BigInteger e = spec.getPublicExponent(); - BigInteger d = spec.getPrivateExponent(); - BigInteger p = spec.getPrimeP(); - BigInteger q = spec.getPrimeQ(); - BigInteger dP = spec.getPrimeExponentP(); - BigInteger dQ = spec.getPrimeExponentQ(); - BigInteger qInv = spec.getCrtCoefficient(); - return new GnuRSAPrivateKey(Registry.PKCS8_ENCODING_ID, - n, e, d, p, q, dP, dQ, qInv); - } - if (keySpec instanceof PKCS8EncodedKeySpec) - { - PKCS8EncodedKeySpec spec = (PKCS8EncodedKeySpec) keySpec; - byte[] encoded = spec.getEncoded(); - PrivateKey result; - try - { - return new RSAKeyPairPKCS8Codec().decodePrivateKey(encoded); - } - catch (RuntimeException x) - { - throw new InvalidKeySpecException(x.getMessage(), x); - } - } - throw new InvalidKeySpecException("Unsupported (private) key specification"); - } - - protected KeySpec engineGetKeySpec(Key key, Class keySpec) - throws InvalidKeySpecException - { - if (key instanceof RSAPublicKey) - { - if (keySpec.isAssignableFrom(RSAPublicKeySpec.class)) - { - RSAPublicKey rsaKey = (RSAPublicKey) key; - BigInteger n = rsaKey.getModulus(); - BigInteger e = rsaKey.getPublicExponent(); - return new RSAPublicKeySpec(n, e); - } - if (keySpec.isAssignableFrom(X509EncodedKeySpec.class)) - { - if (key instanceof GnuRSAPublicKey) - { - GnuRSAPublicKey rsaKey = (GnuRSAPublicKey) key; - byte[] encoded = rsaKey.getEncoded(Registry.X509_ENCODING_ID); - return new X509EncodedKeySpec(encoded); - } - - if (Registry.X509_ENCODING_SORT_NAME.equalsIgnoreCase(key.getFormat())) - { - byte[] encoded = key.getEncoded(); - return new X509EncodedKeySpec(encoded); - } - throw new InvalidKeySpecException( - "Wrong key type or unsupported (public) key specification"); - } - throw new InvalidKeySpecException("Unsupported (public) key specification"); - } - if ((key instanceof RSAPrivateCrtKey) - && keySpec.isAssignableFrom(RSAPrivateCrtKeySpec.class)) - { - RSAPrivateCrtKey rsaKey = (RSAPrivateCrtKey) key; - BigInteger n = rsaKey.getModulus(); - BigInteger e = rsaKey.getPublicExponent(); - BigInteger d = rsaKey.getPrivateExponent(); - BigInteger p = rsaKey.getPrimeP(); - BigInteger q = rsaKey.getPrimeQ(); - BigInteger dP = rsaKey.getPrimeExponentP(); - BigInteger dQ = rsaKey.getPrimeExponentQ(); - BigInteger qInv = rsaKey.getCrtCoefficient(); - return new RSAPrivateCrtKeySpec(n, e, d, p, q, dP, dQ, qInv); - } - if ((key instanceof RSAPrivateKey) - && keySpec.isAssignableFrom(RSAPrivateKeySpec.class)) - { - RSAPrivateKey rsaKey = (RSAPrivateKey) key; - BigInteger n = rsaKey.getModulus(); - BigInteger d = rsaKey.getPrivateExponent(); - return new RSAPrivateKeySpec(n, d); - } - if (keySpec.isAssignableFrom(PKCS8EncodedKeySpec.class)) - { - if (key instanceof GnuRSAPrivateKey) - { - GnuRSAPrivateKey rsaKey = (GnuRSAPrivateKey) key; - byte[] encoded = rsaKey.getEncoded(Registry.PKCS8_ENCODING_ID); - return new PKCS8EncodedKeySpec(encoded); - } - if (Registry.PKCS8_ENCODING_SHORT_NAME.equalsIgnoreCase(key.getFormat())) - { - byte[] encoded = key.getEncoded(); - return new PKCS8EncodedKeySpec(encoded); - } - throw new InvalidKeySpecException( - "Wrong key type or unsupported (private) key specification"); - } - throw new InvalidKeySpecException( - "Wrong key type or unsupported key specification"); - } - - protected Key engineTranslateKey(Key key) throws InvalidKeyException - { - if ((key instanceof GnuRSAPublicKey) || (key instanceof GnuRSAPrivateKey)) - return key; - - if (key instanceof RSAPublicKey) - { - RSAPublicKey rsaKey = (RSAPublicKey) key; - BigInteger n = rsaKey.getModulus(); - BigInteger e = rsaKey.getPublicExponent(); - return new GnuRSAPublicKey(Registry.X509_ENCODING_ID, n, e); - } - if (key instanceof RSAPrivateCrtKey) - { - RSAPrivateCrtKey rsaKey = (RSAPrivateCrtKey) key; - BigInteger n = rsaKey.getModulus(); - BigInteger e = rsaKey.getPublicExponent(); - BigInteger d = rsaKey.getPrivateExponent(); - BigInteger p = rsaKey.getPrimeP(); - BigInteger q = rsaKey.getPrimeQ(); - BigInteger dP = rsaKey.getPrimeExponentP(); - BigInteger dQ = rsaKey.getPrimeExponentQ(); - BigInteger qInv = rsaKey.getCrtCoefficient(); - return new GnuRSAPrivateKey(Registry.PKCS8_ENCODING_ID, - n, e, d, p, q, dP, dQ, qInv); - } - throw new InvalidKeyException("Unsupported key type"); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java b/libjava/classpath/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java deleted file mode 100644 index ef53b81..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java +++ /dev/null @@ -1,96 +0,0 @@ -/* RSAKeyPairGeneratorSpi.java -- JCE RSA KeyPairGenerator Adapter - Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.key.rsa.RSAKeyPairGenerator; - -import java.security.InvalidAlgorithmParameterException; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.RSAKeyGenParameterSpec; -import java.util.HashMap; - -/** - * The implementation of a {@link java.security.KeyPairGenerator} adapter class - * to wrap GNU RSA keypair generator instances. - * <p> - * In case the client does not explicitly initialize the KeyPairGenerator (via a - * call to an <code>initialize()</code> method), the GNU provider uses a - * default <i>modulus</i> size (keysize) of 1024 bits. - */ -public class RSAKeyPairGeneratorSpi - extends KeyPairGeneratorAdapter -{ - public RSAKeyPairGeneratorSpi() - { - super(Registry.RSA_KPG); - } - - public void initialize(int keysize, SecureRandom random) - { - HashMap attributes = new HashMap(); - attributes.put(RSAKeyPairGenerator.MODULUS_LENGTH, Integer.valueOf(keysize)); - if (random != null) - attributes.put(RSAKeyPairGenerator.SOURCE_OF_RANDOMNESS, random); - - attributes.put(RSAKeyPairGenerator.PREFERRED_ENCODING_FORMAT, - Integer.valueOf(Registry.ASN1_ENCODING_ID)); - adaptee.setup(attributes); - } - - public void initialize(AlgorithmParameterSpec params, SecureRandom random) - throws InvalidAlgorithmParameterException - { - HashMap attributes = new HashMap(); - if (params != null) - { - if (! (params instanceof RSAKeyGenParameterSpec)) - throw new InvalidAlgorithmParameterException("params"); - - attributes.put(RSAKeyPairGenerator.RSA_PARAMETERS, params); - } - if (random != null) - attributes.put(RSAKeyPairGenerator.SOURCE_OF_RANDOMNESS, random); - - attributes.put(RSAKeyPairGenerator.PREFERRED_ENCODING_FORMAT, - Integer.valueOf(Registry.ASN1_ENCODING_ID)); - adaptee.setup(attributes); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java b/libjava/classpath/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java deleted file mode 100644 index 496c9ca..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java +++ /dev/null @@ -1,56 +0,0 @@ -/* RSAPSSRawSignatureSpi.java -- - Copyright 2001, 2002, 2006 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPSSSignatureRawCodec; - -/** - * The implementation of <i>Service Provider Interface</i> (<b>SPI</b>) - * adapter for the RSA-PSS signature scheme, encoded and/or decoded in RAW - * format. - */ -public class RSAPSSRawSignatureSpi - extends SignatureAdapter -{ - public RSAPSSRawSignatureSpi() - { - super(Registry.RSA_PSS_SIG, new RSAPSSSignatureRawCodec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SHA160withDSS.java b/libjava/classpath/gnu/java/security/jce/sig/SHA160withDSS.java deleted file mode 100644 index c55139f..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SHA160withDSS.java +++ /dev/null @@ -1,54 +0,0 @@ -/* SHA160withDSS.java -- JCE Adapter for DSS with SHA1 signatures - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.dss.DSSSignatureX509Codec; - -/** - * A JCE Adapter for providing X.509 formatted DSS with SHA1 signatures. - */ -public class SHA160withDSS - extends SignatureAdapter -{ - public SHA160withDSS() - { - super(Registry.DSS_SIG, new DSSSignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SHA160withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/SHA160withRSA.java deleted file mode 100644 index d3b2054..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SHA160withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* SHA160withRSA.java -- RSA PKCS1 with SHA160 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with SHA160 hash and X.509 - * encoding format. - */ -public class SHA160withRSA - extends SignatureAdapter -{ - public SHA160withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA160_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SHA256withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/SHA256withRSA.java deleted file mode 100644 index d21888b..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SHA256withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* SHA256withRSA.java -- RSA PKCS1 with SHA256 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with SHA256 hash and X.509 - * encoding format. - */ -public class SHA256withRSA - extends SignatureAdapter -{ - public SHA256withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA256_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SHA384withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/SHA384withRSA.java deleted file mode 100644 index 5495ec1..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SHA384withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* SHA384withRSA.java -- RSA PKCS1 with SHA384 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with SHA384 hash and X.509 - * encoding format. - */ -public class SHA384withRSA - extends SignatureAdapter -{ - public SHA384withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA384_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SHA512withRSA.java b/libjava/classpath/gnu/java/security/jce/sig/SHA512withRSA.java deleted file mode 100644 index f763229..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SHA512withRSA.java +++ /dev/null @@ -1,56 +0,0 @@ -/* SHA512withRSA.java -- RSA PKCS1 with SHA512 JCE signature Adapter - 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.jce.sig; - -import gnu.java.security.Registry; -import gnu.java.security.sig.rsa.RSAPKCS1V1_5SignatureX509Codec; - -/** - * A JCE Adapter for the RSA PKCS1 (v1.5) signature with SHA512 hash and X.509 - * encoding format. - */ -public class SHA512withRSA - extends SignatureAdapter -{ - public SHA512withRSA() - { - super(Registry.RSA_PKCS1_V1_5_SIG + "-" + Registry.SHA512_HASH, - new RSAPKCS1V1_5SignatureX509Codec()); - } -} diff --git a/libjava/classpath/gnu/java/security/jce/sig/SignatureAdapter.java b/libjava/classpath/gnu/java/security/jce/sig/SignatureAdapter.java deleted file mode 100644 index efe3681..0000000 --- a/libjava/classpath/gnu/java/security/jce/sig/SignatureAdapter.java +++ /dev/null @@ -1,251 +0,0 @@ -/* SignatureAdapter.java -- - Copyright 2001, 2002, 2006, 2010 Free Software Foundation, Inc. - -This file is a 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 of the License, 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; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, 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.jce.sig; - -import gnu.java.security.Configuration; -import gnu.java.security.sig.BaseSignature; -import gnu.java.security.sig.ISignature; -import gnu.java.security.sig.ISignatureCodec; -import gnu.java.security.sig.SignatureFactory; - -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.InvalidParameterException; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.SecureRandom; -import java.security.SignatureException; -import java.security.SignatureSpi; -import java.security.spec.AlgorithmParameterSpec; -import java.util.HashMap; -import java.util.logging.Logger; - -/** - * The implementation of a generic {@link java.security.Signature} adapter class - * to wrap GNU signature instances. - * <p> - * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>) for - * the {@link java.security.Signature} class, which provides the functionality - * of a digital signature algorithm. Digital signatures are used for - * authentication and integrity assurance of digital data. - * <p> - * All the abstract methods in the {@link SignatureSpi} class are implemented by - * this class and all its sub-classes. - * <p> - * All the implementations which subclass this object, and which are serviced by - * the GNU provider implement the {@link Cloneable} interface. - */ -class SignatureAdapter - extends SignatureSpi - implements Cloneable -{ - private static final Logger log = Configuration.DEBUG ? - Logger.getLogger(SignatureAdapter.class.getName()) : null; - - /** Our underlying signature instance. */ - private ISignature adaptee; - - /** Our underlying signature encoder/decoder engine. */ - private ISignatureCodec codec; - - /** - * Trivial protected constructor. - * - * @param sigName the canonical name of the signature scheme. - * @param codec the signature codec engine to use with this scheme. - */ - protected SignatureAdapter(String sigName, ISignatureCodec codec) - { - this(SignatureFactory.getInstance(sigName), codec); - } - - /** - * Private constructor for cloning purposes. - * - * @param adaptee a clone of the underlying signature scheme instance. - * @param codec the signature codec engine to use with this scheme. - */ - private SignatureAdapter(ISignature adaptee, ISignatureCodec codec) - { - super(); - - this.adaptee = adaptee; - this.codec = codec; - } - - public Object clone() - { - return new SignatureAdapter((ISignature) adaptee.clone(), codec); - } - - public void engineInitVerify(PublicKey publicKey) throws InvalidKeyException - { - HashMap attributes = new HashMap(); - attributes.put(BaseSignature.VERIFIER_KEY, publicKey); - try - { - adaptee.setupVerify(attributes); - } - catch (IllegalArgumentException x) - { - throw new InvalidKeyException(x.getMessage(), x); - } - } - - public void engineInitSign(PrivateKey privateKey) throws InvalidKeyException - { - HashMap attributes = new HashMap(); - attributes.put(BaseSignature.SIGNER_KEY, privateKey); - try - { - adaptee.setupSign(attributes); - } - catch (IllegalArgumentException x) - { - throw new InvalidKeyException(x.getMessage(), x); - } - } - - public void engineInitSign(PrivateKey privateKey, SecureRandom random) - throws InvalidKeyException - { - HashMap attributes = new HashMap(); - attributes.put(BaseSignature.SIGNER_KEY, privateKey); - attributes.put(BaseSignature.SOURCE_OF_RANDOMNESS, random); - try - { - adaptee.setupSign(attributes); - } - catch (IllegalArgumentException x) - { - throw new InvalidKeyException(x.getMessage(), x); - } - } - - public void engineUpdate(byte b) throws SignatureException - { - try - { - adaptee.update(b); - } - catch (IllegalStateException x) - { - throw new SignatureException(x.getMessage(), x); - } - } - - public void engineUpdate(byte[] b, int off, int len) - throws SignatureException - { - try - { - adaptee.update(b, off, len); - } - catch (IllegalStateException x) - { - throw new SignatureException(x.getMessage(), x); - } - } - - public byte[] engineSign() throws SignatureException - { - Object signature = null; - try - { - signature = adaptee.sign(); - } - catch (IllegalStateException x) - { - throw new SignatureException(x.getMessage(), x); - } - byte[] result = codec.encodeSignature(signature); - return result; - } - - public int engineSign(byte[] outbuf, int offset, int len) - throws SignatureException - { - byte[] signature = this.engineSign(); - int result = signature.length; - if (result > len) - throw new SignatureException("Not enough room to store signature"); - - System.arraycopy(signature, 0, outbuf, offset, result); - return result; - } - - public boolean engineVerify(byte[] sigBytes) throws SignatureException - { - if (Configuration.DEBUG) - log.entering(this.getClass().getName(), "engineVerify"); - Object signature = codec.decodeSignature(sigBytes); - boolean result = false; - try - { - result = adaptee.verify(signature); - } - catch (IllegalStateException x) - { - throw new SignatureException(x.getMessage(), x); - } - if (Configuration.DEBUG) - log.exiting(this.getClass().getName(), "engineVerify", - Boolean.valueOf(result)); - return result; - } - - // Deprecated. Replaced by engineSetParameter. - public void engineSetParameter(String param, Object value) - throws InvalidParameterException - { - throw new InvalidParameterException("deprecated"); - } - - public void engineSetParameter(AlgorithmParameterSpec params) - throws InvalidAlgorithmParameterException - { - } - - // Deprecated - public Object engineGetParameter(String param) - throws InvalidParameterException - { - throw new InvalidParameterException("deprecated"); - } -} |
