diff options
author | Damien Miller <djm@mindrot.org> | 2010-09-10 11:39:26 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2010-09-10 11:39:26 +1000 |
commit | 6af914a15c0c33e8b5bab5ca61919b8562ff1db9 (patch) | |
tree | b87546d8a88a05e6fd600cbb2b8c0b132278cb10 /ssh-keygen.c | |
parent | 041ab7c1e7d6514ed84a539a767f79ffb356e807 (diff) |
- (djm) [authfd.c authfile.c bufec.c buffer.h configure.ac kex.h kexecdh.c]
[kexecdhc.c kexecdhs.c key.c key.h myproposal.h packet.c readconf.c]
[ssh-agent.c ssh-ecdsa.c ssh-keygen.c ssh.c] Disable ECDH and ECDSA on
platforms that don't have the requisite OpenSSL support. ok dtucker@
Diffstat (limited to 'ssh-keygen.c')
-rw-r--r-- | ssh-keygen.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ssh-keygen.c b/ssh-keygen.c index 43b8c7f97..bbd434b0b 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -265,10 +265,12 @@ do_convert_to_pkcs8(Key *k) | |||
265 | if (!PEM_write_DSA_PUBKEY(stdout, k->dsa)) | 265 | if (!PEM_write_DSA_PUBKEY(stdout, k->dsa)) |
266 | fatal("PEM_write_DSA_PUBKEY failed"); | 266 | fatal("PEM_write_DSA_PUBKEY failed"); |
267 | break; | 267 | break; |
268 | #ifdef OPENSSL_HAS_ECC | ||
268 | case KEY_ECDSA: | 269 | case KEY_ECDSA: |
269 | if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa)) | 270 | if (!PEM_write_EC_PUBKEY(stdout, k->ecdsa)) |
270 | fatal("PEM_write_EC_PUBKEY failed"); | 271 | fatal("PEM_write_EC_PUBKEY failed"); |
271 | break; | 272 | break; |
273 | #endif | ||
272 | default: | 274 | default: |
273 | fatal("%s: unsupported key type %s", __func__, key_type(k)); | 275 | fatal("%s: unsupported key type %s", __func__, key_type(k)); |
274 | } | 276 | } |
@@ -549,6 +551,7 @@ do_convert_from_pkcs8(Key **k, int *private) | |||
549 | (*k)->type = KEY_DSA; | 551 | (*k)->type = KEY_DSA; |
550 | (*k)->dsa = EVP_PKEY_get1_DSA(pubkey); | 552 | (*k)->dsa = EVP_PKEY_get1_DSA(pubkey); |
551 | break; | 553 | break; |
554 | #ifdef OPENSSL_HAS_ECC | ||
552 | case EVP_PKEY_EC: | 555 | case EVP_PKEY_EC: |
553 | *k = key_new(KEY_UNSPEC); | 556 | *k = key_new(KEY_UNSPEC); |
554 | (*k)->type = KEY_ECDSA; | 557 | (*k)->type = KEY_ECDSA; |
@@ -556,6 +559,7 @@ do_convert_from_pkcs8(Key **k, int *private) | |||
556 | (*k)->ecdsa_nid = key_ecdsa_group_to_nid( | 559 | (*k)->ecdsa_nid = key_ecdsa_group_to_nid( |
557 | EC_KEY_get0_group((*k)->ecdsa)); | 560 | EC_KEY_get0_group((*k)->ecdsa)); |
558 | break; | 561 | break; |
562 | #endif | ||
559 | default: | 563 | default: |
560 | fatal("%s: unsupported pubkey type %d", __func__, | 564 | fatal("%s: unsupported pubkey type %d", __func__, |
561 | EVP_PKEY_type(pubkey->type)); | 565 | EVP_PKEY_type(pubkey->type)); |
@@ -632,10 +636,12 @@ do_convert_from(struct passwd *pw) | |||
632 | ok = PEM_write_DSAPrivateKey(stdout, k->dsa, NULL, | 636 | ok = PEM_write_DSAPrivateKey(stdout, k->dsa, NULL, |
633 | NULL, 0, NULL, NULL); | 637 | NULL, 0, NULL, NULL); |
634 | break; | 638 | break; |
639 | #ifdef OPENSSL_HAS_ECC | ||
635 | case KEY_ECDSA: | 640 | case KEY_ECDSA: |
636 | ok = PEM_write_ECPrivateKey(stdout, k->ecdsa, NULL, | 641 | ok = PEM_write_ECPrivateKey(stdout, k->ecdsa, NULL, |
637 | NULL, 0, NULL, NULL); | 642 | NULL, 0, NULL, NULL); |
638 | break; | 643 | break; |
644 | #endif | ||
639 | case KEY_RSA: | 645 | case KEY_RSA: |
640 | ok = PEM_write_RSAPrivateKey(stdout, k->rsa, NULL, | 646 | ok = PEM_write_RSAPrivateKey(stdout, k->rsa, NULL, |
641 | NULL, 0, NULL, NULL); | 647 | NULL, 0, NULL, NULL); |