[BACK]Return to ssh-keygen.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/ssh-keygen.c between version 1.471 and 1.472

version 1.471, 2023/09/04 10:29:58 version 1.472, 2024/01/11 01:45:36
Line 251 
Line 251 
                 name = _PATH_SSH_CLIENT_ID_ED25519;                  name = _PATH_SSH_CLIENT_ID_ED25519;
         else {          else {
                 switch (sshkey_type_from_name(key_type_name)) {                  switch (sshkey_type_from_name(key_type_name)) {
   #ifdef WITH_DSA
                 case KEY_DSA_CERT:                  case KEY_DSA_CERT:
                 case KEY_DSA:                  case KEY_DSA:
                         name = _PATH_SSH_CLIENT_ID_DSA;                          name = _PATH_SSH_CLIENT_ID_DSA;
                         break;                          break;
   #endif
                 case KEY_ECDSA_CERT:                  case KEY_ECDSA_CERT:
                 case KEY_ECDSA:                  case KEY_ECDSA:
                         name = _PATH_SSH_CLIENT_ID_ECDSA;                          name = _PATH_SSH_CLIENT_ID_ECDSA;
Line 363 
Line 365 
                 if (!PEM_write_RSA_PUBKEY(stdout, k->rsa))                  if (!PEM_write_RSA_PUBKEY(stdout, k->rsa))
                         fatal("PEM_write_RSA_PUBKEY failed");                          fatal("PEM_write_RSA_PUBKEY failed");
                 break;                  break;
   #ifdef WITH_DSA
         case KEY_DSA:          case KEY_DSA:
                 if (!PEM_write_DSA_PUBKEY(stdout, k->dsa))                  if (!PEM_write_DSA_PUBKEY(stdout, k->dsa))
                         fatal("PEM_write_DSA_PUBKEY failed");                          fatal("PEM_write_DSA_PUBKEY failed");
                 break;                  break;
   #endif
         case KEY_ECDSA:          case KEY_ECDSA:
                 if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa))                  if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa))
                         fatal("PEM_write_EC_PUBKEY failed");                          fatal("PEM_write_EC_PUBKEY failed");
Line 385 
Line 389 
                 if (!PEM_write_RSAPublicKey(stdout, k->rsa))                  if (!PEM_write_RSAPublicKey(stdout, k->rsa))
                         fatal("PEM_write_RSAPublicKey failed");                          fatal("PEM_write_RSAPublicKey failed");
                 break;                  break;
   #ifdef WITH_DSA
         case KEY_DSA:          case KEY_DSA:
                 if (!PEM_write_DSA_PUBKEY(stdout, k->dsa))                  if (!PEM_write_DSA_PUBKEY(stdout, k->dsa))
                         fatal("PEM_write_DSA_PUBKEY failed");                          fatal("PEM_write_DSA_PUBKEY failed");
                 break;                  break;
   #endif
         case KEY_ECDSA:          case KEY_ECDSA:
                 if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa))                  if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa))
                         fatal("PEM_write_EC_PUBKEY failed");                          fatal("PEM_write_EC_PUBKEY failed");
Line 461 
Line 467 
         u_int magic, i1, i2, i3, i4;          u_int magic, i1, i2, i3, i4;
         size_t slen;          size_t slen;
         u_long e;          u_long e;
   #ifdef WITH_DSA
         BIGNUM *dsa_p = NULL, *dsa_q = NULL, *dsa_g = NULL;          BIGNUM *dsa_p = NULL, *dsa_q = NULL, *dsa_g = NULL;
         BIGNUM *dsa_pub_key = NULL, *dsa_priv_key = NULL;          BIGNUM *dsa_pub_key = NULL, *dsa_priv_key = NULL;
   #endif
         BIGNUM *rsa_n = NULL, *rsa_e = NULL, *rsa_d = NULL;          BIGNUM *rsa_n = NULL, *rsa_e = NULL, *rsa_d = NULL;
         BIGNUM *rsa_p = NULL, *rsa_q = NULL, *rsa_iqmp = NULL;          BIGNUM *rsa_p = NULL, *rsa_q = NULL, *rsa_iqmp = NULL;
   
Line 490 
Line 498 
         }          }
         free(cipher);          free(cipher);
   
         if (strstr(type, "dsa")) {          if (strstr(type, "rsa")) {
                 ktype = KEY_DSA;  
         } else if (strstr(type, "rsa")) {  
                 ktype = KEY_RSA;                  ktype = KEY_RSA;
   #ifdef WITH_DSA
           } else if (strstr(type, "dsa")) {
                   ktype = KEY_DSA;
   #endif
         } else {          } else {
                 free(type);                  free(type);
                 return NULL;                  return NULL;
Line 503 
Line 513 
         free(type);          free(type);
   
         switch (key->type) {          switch (key->type) {
   #ifdef WITH_DSA
         case KEY_DSA:          case KEY_DSA:
                 if ((dsa_p = BN_new()) == NULL ||                  if ((dsa_p = BN_new()) == NULL ||
                     (dsa_q = BN_new()) == NULL ||                      (dsa_q = BN_new()) == NULL ||
Line 522 
Line 533 
                         fatal_f("DSA_set0_key failed");                          fatal_f("DSA_set0_key failed");
                 dsa_pub_key = dsa_priv_key = NULL; /* transferred */                  dsa_pub_key = dsa_priv_key = NULL; /* transferred */
                 break;                  break;
   #endif
         case KEY_RSA:          case KEY_RSA:
                 if ((r = sshbuf_get_u8(b, &e1)) != 0 ||                  if ((r = sshbuf_get_u8(b, &e1)) != 0 ||
                     (e1 < 30 && (r = sshbuf_get_u8(b, &e2)) != 0) ||                      (e1 < 30 && (r = sshbuf_get_u8(b, &e2)) != 0) ||
Line 685 
Line 697 
                 (*k)->type = KEY_RSA;                  (*k)->type = KEY_RSA;
                 (*k)->rsa = EVP_PKEY_get1_RSA(pubkey);                  (*k)->rsa = EVP_PKEY_get1_RSA(pubkey);
                 break;                  break;
   #ifdef WITH_DSA
         case EVP_PKEY_DSA:          case EVP_PKEY_DSA:
                 if ((*k = sshkey_new(KEY_UNSPEC)) == NULL)                  if ((*k = sshkey_new(KEY_UNSPEC)) == NULL)
                         fatal("sshkey_new failed");                          fatal("sshkey_new failed");
                 (*k)->type = KEY_DSA;                  (*k)->type = KEY_DSA;
                 (*k)->dsa = EVP_PKEY_get1_DSA(pubkey);                  (*k)->dsa = EVP_PKEY_get1_DSA(pubkey);
                 break;                  break;
   #endif
         case EVP_PKEY_EC:          case EVP_PKEY_EC:
                 if ((*k = sshkey_new(KEY_UNSPEC)) == NULL)                  if ((*k = sshkey_new(KEY_UNSPEC)) == NULL)
                         fatal("sshkey_new failed");                          fatal("sshkey_new failed");
Line 758 
Line 772 
                         fprintf(stdout, "\n");                          fprintf(stdout, "\n");
         } else {          } else {
                 switch (k->type) {                  switch (k->type) {
   #ifdef WITH_DSA
                 case KEY_DSA:                  case KEY_DSA:
                         ok = PEM_write_DSAPrivateKey(stdout, k->dsa, NULL,                          ok = PEM_write_DSAPrivateKey(stdout, k->dsa, NULL,
                             NULL, 0, NULL, NULL);                              NULL, 0, NULL, NULL);
                         break;                          break;
   #endif
                 case KEY_ECDSA:                  case KEY_ECDSA:
                         ok = PEM_write_ECPrivateKey(stdout, k->ecdsa, NULL,                          ok = PEM_write_ECPrivateKey(stdout, k->ecdsa, NULL,
                             NULL, 0, NULL, NULL);                              NULL, 0, NULL, NULL);
Line 3726 
Line 3742 
                         n += do_print_resource_record(pw,                          n += do_print_resource_record(pw,
                             _PATH_HOST_RSA_KEY_FILE, rr_hostname,                              _PATH_HOST_RSA_KEY_FILE, rr_hostname,
                             print_generic, opts, nopts);                              print_generic, opts, nopts);
   #ifdef WITH_DSA
                         n += do_print_resource_record(pw,                          n += do_print_resource_record(pw,
                             _PATH_HOST_DSA_KEY_FILE, rr_hostname,                              _PATH_HOST_DSA_KEY_FILE, rr_hostname,
                             print_generic, opts, nopts);                              print_generic, opts, nopts);
   #endif
                         n += do_print_resource_record(pw,                          n += do_print_resource_record(pw,
                             _PATH_HOST_ECDSA_KEY_FILE, rr_hostname,                              _PATH_HOST_ECDSA_KEY_FILE, rr_hostname,
                             print_generic, opts, nopts);                              print_generic, opts, nopts);

Legend:
Removed from v.1.471  
changed lines
  Added in v.1.472