10

I have the contents of the key pair file for SFTP as a string. I need to use JSch to add the contents, but addIdentity only accepts a file path. Is there anyway I can do this?

I see that the KeyPair class has a method -

KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)

I'm not sure what this does.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
eechpeech
  • 255
  • 1
  • 4
  • 17

1 Answers1

13

There is an addIdentity overload that takes the key from a buffer:

public class JSch {
    ...
    public void addIdentity(String name, byte[]prvkey, byte[]pubkey, byte[] passphrase)

See also Java SFTP client that takes private key as a string.

For an example of implementation, see JSch: addIdentity from private key stored on hdfs.

See also Loading private key from string or resource in Java JSch in Android app for a format of the key in the buffers.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992