[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.66 and 1.72

version 1.66, 2001/06/26 02:47:07 version 1.72, 2001/07/02 22:40:18
Line 190 
Line 190 
         Buffer b;          Buffer b;
         Key *key = NULL;          Key *key = NULL;
         char *type, *cipher;          char *type, *cipher;
         u_char *sig, data[10] = "abcde12345";          u_char *sig, data[] = "abcde12345";
         int magic, rlen, ktype, i1, i2, i3, i4;          int magic, rlen, ktype, i1, i2, i3, i4;
         u_int slen;          u_int slen;
         u_long e;          u_long e;
Line 260 
Line 260 
                 buffer_get_bignum_bits(&b, key->rsa->iqmp);                  buffer_get_bignum_bits(&b, key->rsa->iqmp);
                 buffer_get_bignum_bits(&b, key->rsa->q);                  buffer_get_bignum_bits(&b, key->rsa->q);
                 buffer_get_bignum_bits(&b, key->rsa->p);                  buffer_get_bignum_bits(&b, key->rsa->p);
                 generate_additional_parameters(key->rsa);                  rsa_generate_additional_parameters(key->rsa);
                 break;                  break;
         }          }
         rlen = buffer_len(&b);          rlen = buffer_len(&b);
Line 381 
Line 381 
         do { \          do { \
                 len = BN_num_bytes(prv->rsa->x); \                  len = BN_num_bytes(prv->rsa->x); \
                 elements[i] = xmalloc(len); \                  elements[i] = xmalloc(len); \
 error("#bytes %d", len); \                  debug("#bytes %d", len); \
                 if (BN_bn2bin(prv->rsa->x, elements[i]) < 0) \                  if (BN_bn2bin(prv->rsa->x, elements[i]) < 0) \
                         goto done; \                          goto done; \
         } while(0)          } while(0)
Line 396 
Line 396 
         struct stat st;          struct stat st;
         u_char *elements[NUM_RSA_KEY_ELEMENTS];          u_char *elements[NUM_RSA_KEY_ELEMENTS];
         u_char key_fid[2];          u_char key_fid[2];
         u_char atr[256];          u_char atr[256];
         u_char AUT0[] = {0xad, 0x9f, 0x61, 0xfe, 0xfa, 0x20, 0xce, 0x63};          u_char AUT0[] = {0xad, 0x9f, 0x61, 0xfe, 0xfa, 0x20, 0xce, 0x63};
         int len, status = 1, i, fd = -1, ret;          int len, status = 1, i, fd = -1, ret;
         int cla = 0x00;          int sw = 0, cla = 0x00;
   
           for (i = 0; i < NUM_RSA_KEY_ELEMENTS; i++)
                   elements[i] = NULL;
         if (!have_identity)          if (!have_identity)
                 ask_filename(pw, "Enter file in which the key is");                  ask_filename(pw, "Enter file in which the key is");
         if (stat(identity_file, &st) < 0) {          if (stat(identity_file, &st) < 0) {
Line 412 
Line 414 
                 error("load failed");                  error("load failed");
                 goto done;                  goto done;
         }          }
 {  
         prv->type = KEY_RSA;  
         key_write(prv, stderr);  
 }  
         for (i = 0; i < NUM_RSA_KEY_ELEMENTS; i++)  
                 elements[i] = NULL;  
         COPY_RSA_KEY(q, 0);          COPY_RSA_KEY(q, 0);
         COPY_RSA_KEY(p, 1);          COPY_RSA_KEY(p, 1);
         COPY_RSA_KEY(iqmp, 2);          COPY_RSA_KEY(iqmp, 2);
Line 425 
Line 421 
         COPY_RSA_KEY(dmp1, 4);          COPY_RSA_KEY(dmp1, 4);
         COPY_RSA_KEY(n, 5);          COPY_RSA_KEY(n, 5);
         len = BN_num_bytes(prv->rsa->n);          len = BN_num_bytes(prv->rsa->n);
         fd = scopen(reader, 0, NULL);          fd = sectok_open(reader, 0, NULL);
         if (fd < 0) {          if (fd < 0) {
                 error("scopen failed %d.", fd);                  error("sectok_open failed");
                 goto done;                  goto done;
         }          }
         ret = screset(fd, atr, NULL);          ret = sectok_reset(fd, 0, atr, &sw);
         if (ret <= 0) {          if (ret <= 0) {
                 error("screset failed.");                  error("sectok_reset failed");
                 goto done;                  goto done;
         }          }
           if ((cla = cyberflex_inq_class(fd)) < 0) {
                   error("cyberflex_inq_class failed");
                   goto done;
           }
         if (cyberflex_verify_AUT0(fd, cla, AUT0, sizeof(AUT0)) < 0) {          if (cyberflex_verify_AUT0(fd, cla, AUT0, sizeof(AUT0)) < 0) {
                 error("cyberflex_verify_AUT0 failed");                  error("cyberflex_verify_AUT0 failed");
                 goto done;                  goto done;
         }          }
         key_fid[0] = 0x00;          key_fid[0] = 0x00;
         key_fid[1] = 0x12;          key_fid[1] = 0x12;
         if (cyberflex_load_rsa_priv(fd, cla, key_fid, 5, 8*len, elements) < 0)          if (cyberflex_load_rsa_priv(fd, cla, key_fid, 5, 8*len, elements,
               &sw) < 0) {
                   error("cyberflex_load_rsa_priv failed: %s", sectok_get_sw(sw));
                 goto done;                  goto done;
           }
           if (!sectok_swOK(sw))
                   goto done;
         log("cyberflex_load_rsa_priv done");          log("cyberflex_load_rsa_priv done");
         key_fid[0] = 0x73;          key_fid[0] = 0x73;
         key_fid[1] = 0x68;          key_fid[1] = 0x68;
         if (cyberflex_load_rsa_pub(fd, cla, key_fid, len, elements[5]) < 0)          if (cyberflex_load_rsa_pub(fd, cla, key_fid, len, elements[5],
               &sw) < 0) {
                   error("cyberflex_load_rsa_pub failed: %s", sectok_get_sw(sw));
                 goto done;                  goto done;
           }
           if (!sectok_swOK(sw))
                   goto done;
         log("cyberflex_load_rsa_pub done");          log("cyberflex_load_rsa_pub done");
         status = 0;          status = 0;
         log("loading key done");          log("loading key done");
Line 455 
Line 465 
         if (prv)          if (prv)
                 key_free(prv);                  key_free(prv);
         for (i = 0; i < NUM_RSA_KEY_ELEMENTS; i++)          for (i = 0; i < NUM_RSA_KEY_ELEMENTS; i++)
                 xfree(elements[i]);                  if (elements[i])
                           xfree(elements[i]);
         if (fd != -1)          if (fd != -1)
                 scclose(fd);                  sectok_close(fd);
         exit(status);          exit(status);
 #endif  #endif
 }  }

Legend:
Removed from v.1.66  
changed lines
  Added in v.1.72