public String getPublicKey() { for (Map.Entry<String, PublicKey> entry : keyProvider.getPublicKeys().entrySet()) { try { return SshKeyGen.writePublicKey(entry.getValue()); } catch (Exception e) { log.error("getPublicKey: Failed to write PEM", e); } } return null; }
public String getPublicKey() { for (Map.Entry<String, PublicKey> entry : keyProvider.getPublicKeys().entrySet()) { try { return SshKeyGen.writePublicKey(entry.getValue()); } catch (Exception e) { log.error("getPublicKey: Failed to write PEM", e); } } return null; }
protected Map<String, String> getKeys() { Map<String, String> result = new TreeMap<>(); for (Map.Entry<String, PublicKey> entry : hostApiService.getPublicKeys().entrySet()) { String key = entry.getKey(); String pem; try { pem = SshKeyGen.writePublicKey(entry.getValue()); result.put("key_" + key, pem); } catch (Exception e) { log.error("Failed to write PEM", e); } } return result; }
@Override public boolean handle(ApiRequest request) throws IOException { String id = request.getId(); if (!FILENAME.equals(id)) { return false; } String pem = null; for (Map.Entry<String, PublicKey> entry : hostApiService.getPublicKeys().entrySet()) { try { pem = SshKeyGen.writePublicKey(entry.getValue()); break; } catch (Exception e) { log.error("Failed to write PEM", e); } } if (pem == null) { return false; } byte[] content = pem.getBytes("UTF-8"); HttpServletResponse response = request.getServletContext().getResponse(); response.getOutputStream().write(pem.getBytes("UTF-8")); response.setContentLength(content.length); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=" + FILENAME); response.setHeader("Cache-Control", "private"); response.setHeader("Pragma", "private"); response.setHeader("Expires", "Wed 24 Feb 1982 18:42:00 GMT"); response.getOutputStream().write(content); return true; }