All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.trilead.ssh2.signature.RSAPrivateKey Maven / Gradle / Ivy

Go to download

Ganymed SSH2 for Java is a library which implements the SSH-2 protocol in pure Java

There is a newer version: build212-hudson-6
Show newest version
package com.trilead.ssh2.signature;

import java.math.BigInteger;
import java.security.KeyPair;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.GeneralSecurityException;
import java.security.spec.RSAPublicKeySpec;
import java.security.spec.RSAPrivateKeySpec;
import java.security.spec.InvalidKeySpecException;

/**
 * RSAPrivateKey.
 * 
 * @author Christian Plattner, [email protected]
 * @version $Id: RSAPrivateKey.java,v 1.1 2007/10/15 12:49:57 cplattne Exp $
 */
public class RSAPrivateKey
{
	private BigInteger d;
	private BigInteger e;
	private BigInteger n;

	public RSAPrivateKey(BigInteger d, BigInteger e, BigInteger n)
	{
		this.d = d;
		this.e = e;
		this.n = n;
	}

	public BigInteger getD()
	{
		return d;
	}
	
	public BigInteger getE()
	{
		return e;
	}

	public BigInteger getN()
	{
		return n;
	}
	
	public RSAPublicKey getPublicKey()
	{
		return new RSAPublicKey(e, n);
	}

    /**
     * Converts this to a JCE API representation of the RSA key pair.
     */
    public KeyPair toJCEKeyPair() throws GeneralSecurityException {
        KeyFactory kf = KeyFactory.getInstance("RSA");
        return new KeyPair(
                kf.generatePublic(new RSAPublicKeySpec(getN(), getE())),
                kf.generatePrivate(new RSAPrivateKeySpec(getN(), getD())));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy