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

Diff for /src/usr.bin/ssh/ssh-ecdsa.c between version 1.16 and 1.17

version 1.16, 2019/01/21 09:54:11 version 1.17, 2022/10/28 00:35:40
Line 39 
Line 39 
 #define SSHKEY_INTERNAL  #define SSHKEY_INTERNAL
 #include "sshkey.h"  #include "sshkey.h"
   
   static u_int
   ssh_ecdsa_size(const struct sshkey *key)
   {
           switch (key->ecdsa_nid) {
           case NID_X9_62_prime256v1:
                   return 256;
           case NID_secp384r1:
                   return 384;
           case NID_secp521r1:
                   return 521;
           default:
                   return 0;
           }
   }
   
   static void
   ssh_ecdsa_cleanup(struct sshkey *k)
   {
           EC_KEY_free(k->ecdsa);
           k->ecdsa = NULL;
   }
   
 /* ARGSUSED */  /* ARGSUSED */
 int  int
 ssh_ecdsa_sign(const struct sshkey *key, u_char **sigp, size_t *lenp,  ssh_ecdsa_sign(const struct sshkey *key, u_char **sigp, size_t *lenp,
Line 190 
Line 212 
         free(ktype);          free(ktype);
         return ret;          return ret;
 }  }
   
   static const struct sshkey_impl_funcs sshkey_ecdsa_funcs = {
           /* .size = */           ssh_ecdsa_size,
           /* .alloc = */          NULL,
           /* .cleanup = */        ssh_ecdsa_cleanup,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp256_impl = {
           /* .name = */           "ecdsa-sha2-nistp256",
           /* .shortname = */      "ECDSA",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA,
           /* .nid = */            NID_X9_62_prime256v1,
           /* .cert = */           0,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp256_cert_impl = {
           /* .name = */           "ecdsa-sha2-nistp256-cert-v01@openssh.com",
           /* .shortname = */      "ECDSA-CERT",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA_CERT,
           /* .nid = */            NID_X9_62_prime256v1,
           /* .cert = */           1,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp384_impl = {
           /* .name = */           "ecdsa-sha2-nistp384",
           /* .shortname = */      "ECDSA",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA,
           /* .nid = */            NID_secp384r1,
           /* .cert = */           0,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp384_cert_impl = {
           /* .name = */           "ecdsa-sha2-nistp384-cert-v01@openssh.com",
           /* .shortname = */      "ECDSA-CERT",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA_CERT,
           /* .nid = */            NID_secp384r1,
           /* .cert = */           1,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp521_impl = {
           /* .name = */           "ecdsa-sha2-nistp521",
           /* .shortname = */      "ECDSA",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA,
           /* .nid = */            NID_secp521r1,
           /* .cert = */           0,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };
   
   const struct sshkey_impl sshkey_ecdsa_nistp521_cert_impl = {
           /* .name = */           "ecdsa-sha2-nistp521-cert-v01@openssh.com",
           /* .shortname = */      "ECDSA-CERT",
           /* .sigalg = */         NULL,
           /* .type = */           KEY_ECDSA_CERT,
           /* .nid = */            NID_secp521r1,
           /* .cert = */           1,
           /* .sigonly = */        0,
           /* .keybits = */        0,
           /* .funcs = */          &sshkey_ecdsa_funcs,
   };

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17