summaryrefslogtreecommitdiff
path: root/gnu/java/security/jce/sig/EncodedKeyFactory.java
diff options
context:
space:
mode:
authorRaif S. Naffah <raif@swiftdsl.com.au>2006-02-09 11:52:48 +0000
committerRaif S. Naffah <raif@swiftdsl.com.au>2006-02-09 11:52:48 +0000
commit9460f315752210eeb2a38061e30cf2b9a9009ddf (patch)
tree2267381d705885e38eb1952934d0969de311be4b /gnu/java/security/jce/sig/EncodedKeyFactory.java
parentd8993f8af9c2de977890ab8d5a2724f081b8485d (diff)
downloadclasspath-9460f315752210eeb2a38061e30cf2b9a9009ddf.tar.gz
2006-02-09 Raif S. Naffah <raif@swiftdsl.com.au>
* gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: New file. * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairGenerator.java (PREFERRED_ENCODING_FORMAT): New constant. (DEFAULT_ENCODING_FORMAT): Likewise. (preferredFormat): New field. (setup): Add support for preferred encoding format. (generate): Call key constructors with explicit format identifier. * gnu/java/security/key/rsa/GnuRSAPublicKey.java (GnuRSAPublicKey(2)): Call constructor with 3 arguments.. (GnuRSAPublicKey(3)): New constructor. (valueOf): Added support for ASN.1 format. (getEncoded): Likewise. * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(4)): Call constructor with 5 arguments. (GnuRSAPrivateKey(5)): New constructor. (GnuRSAPrivateKey(9)): New constructor. (valueOf): Added support for ASN.1 format. (getEncoded): Likewise. * gnu/java/security/key/rsa/GnuRSAKey.java (defaultFormat): New field. (GnuRSAKey): Modified constructor. (getFormat): Return preferred format identifier. * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java (decodePrivateKey): Fixed documentation. Check Version field. * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java (initialize(int,SecureRandom)): Set ASN.1 as the preferred encoding format. (initialize(AlgorithmParameterSpec,SecureRandom)): Likewise. * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGeneratePublic): Added support for RSA. (engineGeneratePrivate): Likewise.
Diffstat (limited to 'gnu/java/security/jce/sig/EncodedKeyFactory.java')
-rw-r--r--gnu/java/security/jce/sig/EncodedKeyFactory.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/gnu/java/security/jce/sig/EncodedKeyFactory.java b/gnu/java/security/jce/sig/EncodedKeyFactory.java
index 5b99607e3..7075b3541 100644
--- a/gnu/java/security/jce/sig/EncodedKeyFactory.java
+++ b/gnu/java/security/jce/sig/EncodedKeyFactory.java
@@ -41,6 +41,8 @@ package gnu.java.security.jce.sig;
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.security.InvalidKeyException;
import java.security.InvalidParameterException;
@@ -79,7 +81,14 @@ public class EncodedKeyFactory
{
}
- // FIXME: try RSA
+ // try RSA
+ try
+ {
+ return GnuRSAPublicKey.valueOf(input);
+ }
+ catch (InvalidParameterException ignored)
+ {
+ }
// FIXME: try DH
@@ -103,7 +112,14 @@ public class EncodedKeyFactory
{
}
- // FIXME: try RSA
+ // try RSA
+ try
+ {
+ return GnuRSAPrivateKey.valueOf(input);
+ }
+ catch (InvalidParameterException ignored)
+ {
+ }
// FIXME: try DH