summaryrefslogtreecommitdiff
path: root/gnu/java/security/key/rsa/GnuRSAKey.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/java/security/key/rsa/GnuRSAKey.java')
-rw-r--r--gnu/java/security/key/rsa/GnuRSAKey.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/gnu/java/security/key/rsa/GnuRSAKey.java b/gnu/java/security/key/rsa/GnuRSAKey.java
index 098d372dc..3009dd71f 100644
--- a/gnu/java/security/key/rsa/GnuRSAKey.java
+++ b/gnu/java/security/key/rsa/GnuRSAKey.java
@@ -38,8 +38,8 @@ exception statement from your version. */
package gnu.java.security.key.rsa;
+import gnu.classpath.SystemProperties;
import gnu.java.security.Registry;
-import gnu.java.security.key.IKeyPairCodec;
import gnu.java.security.util.FormatUtil;
import java.math.BigInteger;
@@ -67,6 +67,9 @@ public abstract class GnuRSAKey implements Key, RSAKey
*/
protected final int defaultFormat;
+ /** String representation of this key. Cached for speed. */
+ private transient String str;
+
// Constructor(s)
// -------------------------------------------------------------------------
@@ -111,7 +114,7 @@ public abstract class GnuRSAKey implements Key, RSAKey
/** @deprecated see getEncoded(int). */
public byte[] getEncoded()
{
- return getEncoded(IKeyPairCodec.RAW_FORMAT);
+ return getEncoded(defaultFormat);
}
public String getFormat()
@@ -173,6 +176,20 @@ public abstract class GnuRSAKey implements Key, RSAKey
return n.equals(that.getModulus());
}
+ public String toString()
+ {
+ if (str == null)
+ {
+ String ls = SystemProperties.getProperty("line.separator");
+ str = new StringBuilder().append(ls)
+ .append("defaultFormat=").append(defaultFormat).append(",").append(ls)
+ .append("n=0x").append(n.toString(16)).append(",").append(ls)
+ .append("e=0x").append(e.toString(16))
+ .toString();
+ }
+ return str;
+ }
+
// abstract methods to be implemented by subclasses ------------------------
public abstract byte[] getEncoded(int format);