summaryrefslogtreecommitdiff
path: root/gnu/java/security/jce/sig
diff options
context:
space:
mode:
authorRaif S. Naffah <raif@swiftdsl.com.au>2006-02-19 01:45:42 +0000
committerRaif S. Naffah <raif@swiftdsl.com.au>2006-02-19 01:45:42 +0000
commit70be1e6d568d0e673204711d4546585901c1303c (patch)
treeb4ce6af9b5d310c4e5962a840146900ca3cb43b4 /gnu/java/security/jce/sig
parentc368cf0534aaddd5a3f26a76611650081dca9273 (diff)
downloadclasspath-70be1e6d568d0e673204711d4546585901c1303c.tar.gz
2006-02-19 Raif S. Naffah <raif@swiftdsl.com.au>
* gnu/javax/crypto/key/OutgoingMessage.java (writePublicKey): Handle new internal format. (writePrivateKey): Likewise. (writeKey): New method. (getKeyType): Likewise. * gnu/javax/crypto/key/IncomingMessage.java (readPublicKey): Handle new internal format. (readPrivateKey): Likewise. (getKeyPairCodec): New method. * gnu/javax/crypto/key/srp6/SRPKey.java (getFormat): Always return Raw. * gnu/javax/crypto/key/dh/GnuDHKey.java (getFormat): Use FormatUtil. * gnu/java/security/Registry.java (RSA_SIG_PREFIX): New constant. (RSA_PSS_ENCODING): Likewise.. (RSA_PKCS1_V1_5_ENCODING): Likewise. (RSA_PSS_SIG): Redefined using other constants. (RSA_PKCS1_V1_5_SIG): Likewise. (MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE): New constant. * gnu/java/security/util/FormatUtil.java: New file. * gnu/java/security/sig/SignatureFactory.java (names): New field. (getInstance): Let RSASignatureFactory handle RSA signature names. (getNames): Handle new RSA signature (with format) names. * gnu/java/security/sig/SignatureCodecFactory.java: New file. * gnu/java/security/sig/BaseSignature.java (BaseSignature): Add check for null md. (name): Include hash algorithm name. * gnu/java/security/sig/rsa/RSASignatureFactory.java: New file. * gnu/java/security/sig/rsa/RSAPSSSignature.java (RSAPSSSignature): Call constructor with IMessageDigest. (RSAPSSSignature(ImessageDigest,int)): New constructor. * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java: New file. * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: Likewise. * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java (RSAPKCS1V1_5Signature(String)): Call constructor with IMessageDigest. (RSAPKCS1V1_5Signature(IMessageDigest)): New constructor. * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java (getInstance): Added hash algorithm name to exception. * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: New file. * gnu/java/security/key/KeyPairCodecFactory.java (names): New class field. (getInstance(Sitrng)): Deconstruct and call getInstance(String,String). (getInstance(String,String)): New method. (getInstance(String,int)): New method. (getInstance(byte[])): Removed. (getInstance(Key)): Handle new formats. (getNames): Likewise. (getEncodingName(int)): Moved to FormatUtil. (getEncodingShortName(int)): Likewise. (getRawCodec(String)): New method. (getX509Codec(String)): Likewise. (getPKCS8Codec(String)): Likewise. (getRawCodec(Key)): Likewise. (getX509Codec(Key)): Likewise. (getPKCS8Codec(Key)): Likewise. * gnu/java/security/key/dss/DSSKey.java (getFormat): Use FormatUtil. * gnu/java/security/key/rsa/GnuRSAKey.java (getFormat): Likewise. * gnu/java/security/jce/sig/SHA512withRSA.java: New File. * gnu/java/security/jce/sig/SHA384withRSA.java: Likewise. * gnu/java/security/jce/sig/SHA256withRSA.java: Likewise. * gnu/java/security/jce/sig/SHA160withRSA.java: Likewise. * gnu/java/security/jce/sig/SHA160withDSS.java: Likewsie. * gnu/java/security/jce/sig/MD5withRSA.java: Likewise. * gnu/java/security/jce/sig/MD2withRSA.java: Likewise.
Diffstat (limited to 'gnu/java/security/jce/sig')
-rw-r--r--gnu/java/security/jce/sig/MD2withRSA.java56
-rw-r--r--gnu/java/security/jce/sig/MD5withRSA.java56
-rw-r--r--gnu/java/security/jce/sig/SHA160withDSS.java54
-rw-r--r--gnu/java/security/jce/sig/SHA160withRSA.java56
-rw-r--r--gnu/java/security/jce/sig/SHA256withRSA.java56
-rw-r--r--gnu/java/security/jce/sig/SHA384withRSA.java56
-rw-r--r--gnu/java/security/jce/sig/SHA512withRSA.java56
7 files changed, 390 insertions, 0 deletions
diff --git a/gnu/java/security/jce/sig/MD2withRSA.java b/gnu/java/security/jce/sig/MD2withRSA.java
new file mode 100644
index 000000000..353be2185
--- /dev/null
+++ b/gnu/java/security/jce/sig/MD2withRSA.java
@@ -0,0 +1,56 @@
+/* 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/gnu/java/security/jce/sig/MD5withRSA.java b/gnu/java/security/jce/sig/MD5withRSA.java
new file mode 100644
index 000000000..42c481b0a
--- /dev/null
+++ b/gnu/java/security/jce/sig/MD5withRSA.java
@@ -0,0 +1,56 @@
+/* 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/gnu/java/security/jce/sig/SHA160withDSS.java b/gnu/java/security/jce/sig/SHA160withDSS.java
new file mode 100644
index 000000000..c55139f46
--- /dev/null
+++ b/gnu/java/security/jce/sig/SHA160withDSS.java
@@ -0,0 +1,54 @@
+/* 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/gnu/java/security/jce/sig/SHA160withRSA.java b/gnu/java/security/jce/sig/SHA160withRSA.java
new file mode 100644
index 000000000..d3b2054e0
--- /dev/null
+++ b/gnu/java/security/jce/sig/SHA160withRSA.java
@@ -0,0 +1,56 @@
+/* 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/gnu/java/security/jce/sig/SHA256withRSA.java b/gnu/java/security/jce/sig/SHA256withRSA.java
new file mode 100644
index 000000000..d21888b59
--- /dev/null
+++ b/gnu/java/security/jce/sig/SHA256withRSA.java
@@ -0,0 +1,56 @@
+/* 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/gnu/java/security/jce/sig/SHA384withRSA.java b/gnu/java/security/jce/sig/SHA384withRSA.java
new file mode 100644
index 000000000..5495ec1ca
--- /dev/null
+++ b/gnu/java/security/jce/sig/SHA384withRSA.java
@@ -0,0 +1,56 @@
+/* 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/gnu/java/security/jce/sig/SHA512withRSA.java b/gnu/java/security/jce/sig/SHA512withRSA.java
new file mode 100644
index 000000000..f7632290a
--- /dev/null
+++ b/gnu/java/security/jce/sig/SHA512withRSA.java
@@ -0,0 +1,56 @@
+/* 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());
+ }
+}