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

Diff for /src/usr.bin/ssh/sshkey.c between version 1.48 and 1.49

version 1.48, 2017/04/30 23:18:44 version 1.49, 2017/05/07 23:15:59
Line 1364 
Line 1364 
         BIGNUM *f4 = NULL;          BIGNUM *f4 = NULL;
         int ret = SSH_ERR_INTERNAL_ERROR;          int ret = SSH_ERR_INTERNAL_ERROR;
   
         if (rsap == NULL ||          if (rsap == NULL)
             bits < SSH_RSA_MINIMUM_MODULUS_SIZE ||  
             bits > SSHBUF_MAX_BIGNUM * 8)  
                 return SSH_ERR_INVALID_ARGUMENT;                  return SSH_ERR_INVALID_ARGUMENT;
           if (bits < SSH_RSA_MINIMUM_MODULUS_SIZE ||
               bits > SSHBUF_MAX_BIGNUM * 8)
                   return SSH_ERR_KEY_LENGTH;
         *rsap = NULL;          *rsap = NULL;
         if ((private = RSA_new()) == NULL || (f4 = BN_new()) == NULL) {          if ((private = RSA_new()) == NULL || (f4 = BN_new()) == NULL) {
                 ret = SSH_ERR_ALLOC_FAIL;                  ret = SSH_ERR_ALLOC_FAIL;
Line 1395 
Line 1396 
         DSA *private;          DSA *private;
         int ret = SSH_ERR_INTERNAL_ERROR;          int ret = SSH_ERR_INTERNAL_ERROR;
   
         if (dsap == NULL || bits != 1024)          if (dsap == NULL)
                 return SSH_ERR_INVALID_ARGUMENT;                  return SSH_ERR_INVALID_ARGUMENT;
           if (bits != 1024)
                   return SSH_ERR_KEY_LENGTH;
         if ((private = DSA_new()) == NULL) {          if ((private = DSA_new()) == NULL) {
                 ret = SSH_ERR_ALLOC_FAIL;                  ret = SSH_ERR_ALLOC_FAIL;
                 goto out;                  goto out;
Line 1840 
Line 1843 
                         ret = SSH_ERR_INVALID_FORMAT;                          ret = SSH_ERR_INVALID_FORMAT;
                         goto out;                          goto out;
                 }                  }
                   if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
                           ret = SSH_ERR_KEY_LENGTH;
                           goto out;
                   }
 #ifdef DEBUG_PK  #ifdef DEBUG_PK
                 RSA_print_fp(stderr, key->rsa, 8);                  RSA_print_fp(stderr, key->rsa, 8);
 #endif  #endif
Line 2593 
Line 2600 
                     (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||                      (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||
                     (r = rsa_generate_additional_parameters(k->rsa)) != 0)                      (r = rsa_generate_additional_parameters(k->rsa)) != 0)
                         goto out;                          goto out;
                   if (BN_num_bits(k->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
                           r = SSH_ERR_KEY_LENGTH;
                           goto out;
                   }
                 break;                  break;
         case KEY_RSA_CERT:          case KEY_RSA_CERT:
                 if ((r = sshkey_froms(buf, &k)) != 0 ||                  if ((r = sshkey_froms(buf, &k)) != 0 ||
Line 2603 
Line 2614 
                     (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||                      (r = sshbuf_get_bignum2(buf, k->rsa->q)) != 0 ||
                     (r = rsa_generate_additional_parameters(k->rsa)) != 0)                      (r = rsa_generate_additional_parameters(k->rsa)) != 0)
                         goto out;                          goto out;
                   if (BN_num_bits(k->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
                           r = SSH_ERR_KEY_LENGTH;
                           goto out;
                   }
                 break;                  break;
 #endif /* WITH_OPENSSL */  #endif /* WITH_OPENSSL */
         case KEY_ED25519:          case KEY_ED25519:
Line 3371 
Line 3386 
 #endif  #endif
                 if (RSA_blinding_on(prv->rsa, NULL) != 1) {                  if (RSA_blinding_on(prv->rsa, NULL) != 1) {
                         r = SSH_ERR_LIBCRYPTO_ERROR;                          r = SSH_ERR_LIBCRYPTO_ERROR;
                           goto out;
                   }
                   if (BN_num_bits(prv->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
                           r = SSH_ERR_KEY_LENGTH;
                         goto out;                          goto out;
                 }                  }
         } else if (pk->type == EVP_PKEY_DSA &&          } else if (pk->type == EVP_PKEY_DSA &&

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.49