private String encodePublicKey(RSAPublicKey key, String keyname) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] sshrsa = new byte[] {0, 0, 0, 7, 's', 's', 'h', '-', 'r', 's', 'a'};
out.write(sshrsa);
BigInteger e = key.getPublicExponent();
byte[] data = e.toByteArray();
encodeUInt32(data.length, out);
out.write(data);
BigInteger m = key.getModulus();
data = m.toByteArray();
encodeUInt32(data.length, out);
out.write(data);
return "ssh-rsa "
+ Base64.getEncoder().encodeToString(out.toByteArray())
+ " "
+ keyname
+ "@openbaton";
}