/** * */ package org.woltage.irssiconnectbot.util; import java.io.IOException; import java.security.PrivateKey; import java.security.PublicKey; import org.woltage.irssiconnectbot.bean.PubkeyBean; import com.trilead.ssh2.crypto.PEMDecoder; /** * @author seaders * */ public class KeyUtils { public static Object DecodeKey(PubkeyBean pubkey, String password) throws IOException, Exception { Object trileadKey = null; if(PubkeyDatabase.KEY_TYPE_IMPORTED.equals(pubkey.getType())) { // load specific key using pem format trileadKey = PEMDecoder.decode(new String(pubkey.getPrivateKey()).toCharArray(), password); } else { // load using internal generated format PrivateKey privKey = PubkeyUtils.decodePrivate(pubkey.getPrivateKey(), pubkey.getType(), password); PublicKey pubKey = PubkeyUtils.decodePublic(pubkey.getPublicKey(), pubkey.getType()); // convert key to trilead format trileadKey = PubkeyUtils.convertToTrilead(privKey, pubKey); } return trileadKey; } }