Red Hat Application Migration Toolkit
package iaik.security.dsa;
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.DSAParams;
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;
public final class DSAKeyFactory extends KeyFactorySpi {
// $FF: synthetic field
static Class b;
// $FF: synthetic field
static Class d;
// $FF: synthetic field
static Class a;
// $FF: synthetic field
static Class c;
static Class a(String var0) {
try {
return Class.forName(var0);
} catch (ClassNotFoundException var2) {
throw new NoClassDefFoundError(var2.getMessage());
}
}
protected Key engineTranslateKey(Key var1) throws InvalidKeyException {
BigInteger var2;
DSAParams var3;
if(var1 instanceof DSAPublicKey) {
var2 = ((DSAPublicKey)var1).getY();
var3 = ((DSAPublicKey)var1).getParams();
return new iaik.security.dsa.DSAPublicKey(var2, var3);
} else if(var1 instanceof DSAPrivateKey) {
var2 = ((DSAPrivateKey)var1).getX();
var3 = ((DSAPrivateKey)var1).getParams();
return new iaik.security.dsa.DSAPrivateKey(var2, var3);
} else {
throw new InvalidKeyException("Only keys of type DSAPublicKey and DSAPrivateKey can be translated.");
}
}
protected KeySpec engineGetKeySpec(Key var1, Class var2) throws InvalidKeySpecException {
DSAParams var4;
if(var1 instanceof iaik.security.dsa.DSAPublicKey) {
if((c != null?c:(c = a("java.security.spec.DSAPublicKeySpec"))).isAssignableFrom(var2)) {
iaik.security.dsa.DSAPublicKey var5 = (iaik.security.dsa.DSAPublicKey)var1;
var4 = var5.getParams();
return new DSAPublicKeySpec(var5.getY(), var4.getP(), var4.getQ(), var4.getG());
} else if((a != null?a:(a = a("java.security.spec.X509EncodedKeySpec"))).isAssignableFrom(var2)) {
return new X509EncodedKeySpec(var1.getEncoded());
} else {
throw new InvalidKeySpecException("Can\'t convert key to KeySpec.");
}
} else if(var1 instanceof iaik.security.dsa.DSAPrivateKey) {
iaik.security.dsa.DSAPrivateKey var3 = (iaik.security.dsa.DSAPrivateKey)var1;
if((d != null?d:(d = a("java.security.spec.DSAPrivateKeySpec"))).isAssignableFrom(var2)) {
var4 = var3.getParams();
return new DSAPrivateKeySpec(var3.getX(), var4.getP(), var4.getQ(), var4.getG());
} else if((b != null?b:(b = a("java.security.spec.PKCS8EncodedKeySpec"))).isAssignableFrom(var2)) {
return new PKCS8EncodedKeySpec(var3.getEncoded());
} else {
throw new InvalidKeySpecException("Can\'t convert key to KeySpec.");
}
} else {
throw new InvalidKeySpecException("Can only convert DSA keys.");
}
}
protected PublicKey engineGeneratePublic(KeySpec var1) throws InvalidKeySpecException {
try {
if(var1 instanceof DSAPublicKeySpec) {
return new iaik.security.dsa.DSAPublicKey((DSAPublicKeySpec)var1);
} else if(var1 instanceof X509EncodedKeySpec) {
return new iaik.security.dsa.DSAPublicKey(((X509EncodedKeySpec)var1).getEncoded());
} else {
throw new InvalidKeySpecException("Only DSA key specs allowed.");
}
} catch (InvalidKeyException var2) {
throw new InvalidKeySpecException("Invalid KeySpec.");
}
}
protected PrivateKey engineGeneratePrivate(KeySpec var1) throws InvalidKeySpecException {
try {
if(var1 instanceof DSAPrivateKeySpec) {
return new iaik.security.dsa.DSAPrivateKey((DSAPrivateKeySpec)var1);
} else if(var1 instanceof PKCS8EncodedKeySpec) {
return new iaik.security.dsa.DSAPrivateKey(((PKCS8EncodedKeySpec)var1).getEncoded());
} else {
throw new InvalidKeySpecException("Only DSA key specs allowed.");
}
} catch (InvalidKeyException var2) {
throw new InvalidKeySpecException("Invalid KeySpec.");
}
}
}