diff options
Diffstat (limited to 'luni')
3 files changed, 9 insertions, 5 deletions
diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLDSAKeyFactory.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLDSAKeyFactory.java index ca9f37c..efa4747 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLDSAKeyFactory.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLDSAKeyFactory.java @@ -141,8 +141,9 @@ public class OpenSSLDSAKeyFactory extends KeyFactorySpi { if (key == null) { throw new InvalidKeyException("key == null"); } - - if (key instanceof DSAPublicKey) { + if ((key instanceof OpenSSLDSAPublicKey) || (key instanceof OpenSSLDSAPrivateKey)) { + return key; + } else if (key instanceof DSAPublicKey) { DSAPublicKey dsaKey = (DSAPublicKey) key; BigInteger y = dsaKey.getY(); diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLECKeyFactory.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLECKeyFactory.java index 16d4e64..e4673a5 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLECKeyFactory.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLECKeyFactory.java @@ -133,8 +133,9 @@ public class OpenSSLECKeyFactory extends KeyFactorySpi { if (key == null) { throw new InvalidKeyException("key == null"); } - - if (key instanceof ECPublicKey) { + if ((key instanceof OpenSSLECPublicKey) || (key instanceof OpenSSLECPrivateKey)) { + return key; + } else if (key instanceof ECPublicKey) { ECPublicKey ecKey = (ECPublicKey) key; ECPoint w = ecKey.getW(); diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLRSAKeyFactory.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLRSAKeyFactory.java index c61223d..9c61abd 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLRSAKeyFactory.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLRSAKeyFactory.java @@ -165,7 +165,9 @@ public class OpenSSLRSAKeyFactory extends KeyFactorySpi { throw new InvalidKeyException("key == null"); } - if (key instanceof RSAPublicKey) { + if ((key instanceof OpenSSLRSAPublicKey) || (key instanceof OpenSSLRSAPrivateKey)) { + return key; + } else if (key instanceof RSAPublicKey) { RSAPublicKey rsaKey = (RSAPublicKey) key; try { |