byte[] getSignature_rsa(Session session, byte[] data)
{
try
{
Type t = Type.GetType(jsch.getConfig("signature.rsa"));
SignatureRSA rsa = (SignatureRSA)Activator.CreateInstance(t);
rsa.init();
rsa.setPrvKey(e_array, n_array, d_array, p_array, q_array, dmp1_array, dmq1_array, iqmp_array);
/*
* byte[] goo=new byte[4];
* goo[0]=(byte)(session.getSessionId().Length>>>24);
* goo[1]=(byte)(session.getSessionId().Length>>>16);
* goo[2]=(byte)(session.getSessionId().Length>>>8);
* goo[3]=(byte)(session.getSessionId().Length);
* rsa.update(goo);
* rsa.update(session.getSessionId());
*/
rsa.update(data);
byte[] sig = rsa.sign();
Buffer buf = new Buffer("ssh-rsa".Length + 4 +
sig.Length + 4);
buf.putString(System.Text.Encoding.Default.GetBytes("ssh-rsa"));
buf.putString(sig);
return(buf.buffer);
}
catch (Exception e)
{
Console.WriteLine(e);
}
return(null);
}