Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/key.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 6135 by maya, Sun Nov 15 13:27:58 2015 UTC revision 6145 by maya, Tue Nov 17 04:37:00 2015 UTC
# Line 478  int key_verify(Key *key, Line 478  int key_verify(Key *key,
478          return (ret);   // success          return (ret);   // success
479  }  }
480    
481    static char FAR *copy_mp_int(char FAR * num)
482    {
483            int len = (get_ushort16_MSBfirst(num) + 7) / 8 + 2;
484            char FAR *result = (char FAR *) malloc(len);
485    
486            if (result != NULL) {
487                    memcpy(result, num, len);
488            }
489    
490            return result;
491    }
492    
493  //  //
494  // RSA構造体の複製  // RSA構造体の複製
495  //  //
# Line 547  unsigned char *duplicate_ED25519_PK(unsi Line 559  unsigned char *duplicate_ED25519_PK(unsi
559          return (ptr);          return (ptr);
560  }  }
561    
562    BOOL key_copy(Key *dest, Key *src)
563    {
564            switch (src->type) {
565            case KEY_RSA1: // SSH1
566                    dest->type = KEY_RSA1;
567                    dest->bits = src->bits;
568                    dest->exp = copy_mp_int(src->exp);
569                    dest->mod = copy_mp_int(src->mod);
570                    break;
571            case KEY_RSA: // SSH2 RSA
572                    dest->type = KEY_RSA;
573                    dest->rsa = duplicate_RSA(src->rsa);
574                    break;
575            case KEY_DSA: // SSH2 DSA
576                    dest->type = KEY_DSA;
577                    dest->dsa = duplicate_DSA(src->dsa);
578                    break;
579            case KEY_ECDSA256:
580            case KEY_ECDSA384:
581            case KEY_ECDSA521:
582                    dest->type = src->type;
583                    dest->ecdsa = EC_KEY_dup(src->ecdsa);
584                    break;
585            case KEY_ED25519:
586                    dest->type = src->type;
587                    dest->ed25519_pk = duplicate_ED25519_PK(src->ed25519_pk);
588                    break;
589            default:
590                    return FALSE;
591            }
592            return TRUE;
593    }
594    
595  char* key_fingerprint_raw(Key *k, enum digest_algorithm dgst_alg, int *dgst_raw_length)  char* key_fingerprint_raw(Key *k, enum digest_algorithm dgst_alg, int *dgst_raw_length)
596  {  {
# Line 2094  static BOOL CALLBACK hosts_updatekey_dlg Line 2138  static BOOL CALLBACK hosts_updatekey_dlg
2138                  _snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nold);                  _snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nold);
2139                  SetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, buf);                  SetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, buf);
2140    
2141                  CheckDlgButton(dlg, IDC_FP_HASH_ALG_MD5, TRUE);                  CheckDlgButton(dlg, IDC_FP_HASH_ALG_SHA256, TRUE);
2142                  hosts_updatekey_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_MD5);                  hosts_updatekey_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_SHA256);
2143    
2144                  GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg));                  GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg));
2145                  UTIL_get_lang_msg("BTN_YES", pvar, uimsg);                  UTIL_get_lang_msg("BTN_YES", pvar, uimsg);

Legend:
Removed from v.6135  
changed lines
  Added in v.6145

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26