diff options
Diffstat (limited to 'ssh-keygen.c')
-rw-r--r-- | ssh-keygen.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/ssh-keygen.c b/ssh-keygen.c index 51b003405..95fcd6521 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -12,7 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include "includes.h" | 14 | #include "includes.h" |
15 | RCSID("$OpenBSD: ssh-keygen.c,v 1.64 2001/06/23 17:05:22 markus Exp $"); | 15 | RCSID("$OpenBSD: ssh-keygen.c,v 1.65 2001/06/24 05:35:33 markus Exp $"); |
16 | 16 | ||
17 | #include <openssl/evp.h> | 17 | #include <openssl/evp.h> |
18 | #include <openssl/pem.h> | 18 | #include <openssl/pem.h> |
@@ -123,7 +123,8 @@ load_identity(char *filename) | |||
123 | if (identity_passphrase) | 123 | if (identity_passphrase) |
124 | pass = xstrdup(identity_passphrase); | 124 | pass = xstrdup(identity_passphrase); |
125 | else | 125 | else |
126 | pass = read_passphrase("Enter passphrase: ", 1); | 126 | pass = read_passphrase("Enter passphrase: ", |
127 | RP_ALLOW_STDIN); | ||
127 | prv = key_load_private(filename, pass, NULL); | 128 | prv = key_load_private(filename, pass, NULL); |
128 | memset(pass, 0, strlen(pass)); | 129 | memset(pass, 0, strlen(pass)); |
129 | xfree(pass); | 130 | xfree(pass); |
@@ -491,8 +492,11 @@ do_change_passphrase(struct passwd *pw) | |||
491 | if (identity_passphrase) | 492 | if (identity_passphrase) |
492 | old_passphrase = xstrdup(identity_passphrase); | 493 | old_passphrase = xstrdup(identity_passphrase); |
493 | else | 494 | else |
494 | old_passphrase = read_passphrase("Enter old passphrase: ", 1); | 495 | old_passphrase = |
495 | private = key_load_private(identity_file, old_passphrase , &comment); | 496 | read_passphrase("Enter old passphrase: ", |
497 | RP_ALLOW_STDIN); | ||
498 | private = key_load_private(identity_file, old_passphrase, | ||
499 | &comment); | ||
496 | memset(old_passphrase, 0, strlen(old_passphrase)); | 500 | memset(old_passphrase, 0, strlen(old_passphrase)); |
497 | xfree(old_passphrase); | 501 | xfree(old_passphrase); |
498 | if (private == NULL) { | 502 | if (private == NULL) { |
@@ -508,8 +512,10 @@ do_change_passphrase(struct passwd *pw) | |||
508 | passphrase2 = NULL; | 512 | passphrase2 = NULL; |
509 | } else { | 513 | } else { |
510 | passphrase1 = | 514 | passphrase1 = |
511 | read_passphrase("Enter new passphrase (empty for no passphrase): ", 1); | 515 | read_passphrase("Enter new passphrase (empty for no " |
512 | passphrase2 = read_passphrase("Enter same passphrase again: ", 1); | 516 | "passphrase): ", RP_ALLOW_STDIN); |
517 | passphrase2 = read_passphrase("Enter same passphrase again: ", | ||
518 | RP_ALLOW_STDIN); | ||
513 | 519 | ||
514 | /* Verify that they are the same. */ | 520 | /* Verify that they are the same. */ |
515 | if (strcmp(passphrase1, passphrase2) != 0) { | 521 | if (strcmp(passphrase1, passphrase2) != 0) { |
@@ -570,7 +576,8 @@ do_change_comment(struct passwd *pw) | |||
570 | else if (identity_new_passphrase) | 576 | else if (identity_new_passphrase) |
571 | passphrase = xstrdup(identity_new_passphrase); | 577 | passphrase = xstrdup(identity_new_passphrase); |
572 | else | 578 | else |
573 | passphrase = read_passphrase("Enter passphrase: ", 1); | 579 | passphrase = read_passphrase("Enter passphrase: ", |
580 | RP_ALLOW_STDIN); | ||
574 | /* Try to load using the passphrase. */ | 581 | /* Try to load using the passphrase. */ |
575 | private = key_load_private(identity_file, passphrase, &comment); | 582 | private = key_load_private(identity_file, passphrase, &comment); |
576 | if (private == NULL) { | 583 | if (private == NULL) { |
@@ -830,10 +837,15 @@ main(int ac, char **av) | |||
830 | else { | 837 | else { |
831 | passphrase_again: | 838 | passphrase_again: |
832 | passphrase1 = | 839 | passphrase1 = |
833 | read_passphrase("Enter passphrase (empty for no passphrase): ", 1); | 840 | read_passphrase("Enter passphrase (empty for no " |
834 | passphrase2 = read_passphrase("Enter same passphrase again: ", 1); | 841 | "passphrase): ", RP_ALLOW_STDIN); |
842 | passphrase2 = read_passphrase("Enter same passphrase again: ", | ||
843 | RP_ALLOW_STDIN); | ||
835 | if (strcmp(passphrase1, passphrase2) != 0) { | 844 | if (strcmp(passphrase1, passphrase2) != 0) { |
836 | /* The passphrases do not match. Clear them and retry. */ | 845 | /* |
846 | * The passphrases do not match. Clear them and | ||
847 | * retry. | ||
848 | */ | ||
837 | memset(passphrase1, 0, strlen(passphrase1)); | 849 | memset(passphrase1, 0, strlen(passphrase1)); |
838 | memset(passphrase2, 0, strlen(passphrase2)); | 850 | memset(passphrase2, 0, strlen(passphrase2)); |
839 | xfree(passphrase1); | 851 | xfree(passphrase1); |