version 1.83, 2010/04/16 01:47:26 |
version 1.84, 2010/08/31 11:54:45 |
|
|
buffer_len(&key->cert->certblob)); |
buffer_len(&key->cert->certblob)); |
buffer_put_bignum2(b, key->dsa->priv_key); |
buffer_put_bignum2(b, key->dsa->priv_key); |
break; |
break; |
|
case KEY_ECDSA: |
|
buffer_put_cstring(b, key_curve_nid_to_name(key->ecdsa_nid)); |
|
buffer_put_ecpoint(b, EC_KEY_get0_group(key->ecdsa), |
|
EC_KEY_get0_public_key(key->ecdsa)); |
|
buffer_put_bignum2(b, EC_KEY_get0_private_key(key->ecdsa)); |
|
break; |
|
case KEY_ECDSA_CERT: |
|
if (key->cert == NULL || buffer_len(&key->cert->certblob) == 0) |
|
fatal("%s: no cert/certblob", __func__); |
|
buffer_put_string(b, buffer_ptr(&key->cert->certblob), |
|
buffer_len(&key->cert->certblob)); |
|
buffer_put_bignum2(b, EC_KEY_get0_private_key(key->ecdsa)); |
|
break; |
} |
} |
buffer_put_cstring(b, comment); |
buffer_put_cstring(b, comment); |
} |
} |
|
|
case KEY_DSA: |
case KEY_DSA: |
case KEY_DSA_CERT: |
case KEY_DSA_CERT: |
case KEY_DSA_CERT_V00: |
case KEY_DSA_CERT_V00: |
|
case KEY_ECDSA: |
|
case KEY_ECDSA_CERT: |
type = constrained ? |
type = constrained ? |
SSH2_AGENTC_ADD_ID_CONSTRAINED : |
SSH2_AGENTC_ADD_ID_CONSTRAINED : |
SSH2_AGENTC_ADD_IDENTITY; |
SSH2_AGENTC_ADD_IDENTITY; |
|
|
buffer_put_bignum(&msg, key->rsa->e); |
buffer_put_bignum(&msg, key->rsa->e); |
buffer_put_bignum(&msg, key->rsa->n); |
buffer_put_bignum(&msg, key->rsa->n); |
} else if (key_type_plain(key->type) == KEY_DSA || |
} else if (key_type_plain(key->type) == KEY_DSA || |
key_type_plain(key->type) == KEY_RSA) { |
key_type_plain(key->type) == KEY_RSA || |
|
key_type_plain(key->type) == KEY_ECDSA) { |
key_to_blob(key, &blob, &blen); |
key_to_blob(key, &blob, &blen); |
buffer_put_char(&msg, SSH2_AGENTC_REMOVE_IDENTITY); |
buffer_put_char(&msg, SSH2_AGENTC_REMOVE_IDENTITY); |
buffer_put_string(&msg, blob, blen); |
buffer_put_string(&msg, blob, blen); |