summaryrefslogtreecommitdiffstats
path: root/src/pki_gcrypt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pki_gcrypt.c')
-rw-r--r--src/pki_gcrypt.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/pki_gcrypt.c b/src/pki_gcrypt.c
index 78d92cf..9e2bd44 100644
--- a/src/pki_gcrypt.c
+++ b/src/pki_gcrypt.c
@@ -1531,84 +1531,6 @@ ssh_signature pki_do_sign_sessionid(const ssh_key key,
*/
/**
- * @brief Write a public key to a file.
- *
- * @param[in] session The ssh session to use.
- *
- * @param[in] file The filename to write the key into.
- *
- * @param[in] pubkey The public key to write.
- *
- * @param[in] type The type of the public key.
- *
- * @return 0 on success, -1 on error.
- */
-int ssh_publickey_to_file(ssh_session session, const char *file,
- ssh_string pubkey, int type) {
- FILE *fp;
- char *user;
- char buffer[1024];
- char host[256];
- unsigned char *pubkey_64;
- size_t len;
- int rc;
- if(session==NULL)
- return SSH_ERROR;
- if(file==NULL || pubkey==NULL){
- ssh_set_error(session, SSH_FATAL, "Invalid parameters");
- return SSH_ERROR;
- }
- pubkey_64 = bin_to_base64(pubkey->string, ssh_string_len(pubkey));
- if (pubkey_64 == NULL) {
- return SSH_ERROR;
- }
-
- user = ssh_get_local_username();
- if (user == NULL) {
- SAFE_FREE(pubkey_64);
- return SSH_ERROR;
- }
-
- rc = gethostname(host, sizeof(host));
- if (rc < 0) {
- SAFE_FREE(user);
- SAFE_FREE(pubkey_64);
- return SSH_ERROR;
- }
-
- snprintf(buffer, sizeof(buffer), "%s %s %s@%s\n",
- ssh_type_to_char(type),
- pubkey_64,
- user,
- host);
-
- SAFE_FREE(pubkey_64);
- SAFE_FREE(user);
-
- ssh_log(session, SSH_LOG_RARE, "Trying to write public key file: %s", file);
- ssh_log(session, SSH_LOG_PACKET, "public key file content: %s", buffer);
-
- fp = fopen(file, "w+");
- if (fp == NULL) {
- ssh_set_error(session, SSH_REQUEST_DENIED,
- "Error opening %s: %s", file, strerror(errno));
- return SSH_ERROR;
- }
-
- len = strlen(buffer);
- if (fwrite(buffer, len, 1, fp) != 1 || ferror(fp)) {
- ssh_set_error(session, SSH_REQUEST_DENIED,
- "Unable to write to %s", file);
- fclose(fp);
- unlink(file);
- return SSH_ERROR;
- }
-
- fclose(fp);
- return SSH_OK;
-}
-
-/**
* @brief Try to read the public key from a given file.
*
* @param[in] session The ssh session to use.