ec_generate(ec, bits, progressfn, &prog);
ssh2key = snew(struct ssh2_userkey);
ssh2key->data = ec;
- if (bits == 256) {
- ssh2key->alg = &ssh_ecdsa_nistp256;
- } else if (bits == 384) {
- ssh2key->alg = &ssh_ecdsa_nistp384;
- } else {
- ssh2key->alg = &ssh_ecdsa_nistp521;
- }
+ ssh2key->alg = ec->signalg;
ssh1key = NULL;
} else if (keytype == ED25519) {
struct ec_key *ec = snew(struct ec_key);
if (ssh2blob) {
ssh2algf = find_pubkey_alg(ssh2alg);
if (ssh2algf)
- bits = ssh2algf->pubkey_bits(ssh2blob, ssh2bloblen);
+ bits = ssh2algf->pubkey_bits(ssh2algf,
+ ssh2blob, ssh2bloblen);
else
bits = -1;
}