version 1.208, 2014/06/05 22:17:50 |
version 1.209, 2014/06/24 01:13:21 |
|
|
* we have already loaded the private key or |
* we have already loaded the private key or |
* the private key is stored in external hardware |
* the private key is stored in external hardware |
*/ |
*/ |
if (id->isprivate || (id->key->flags & KEY_FLAG_EXT)) |
if (id->isprivate || (id->key->flags & SSHKEY_FLAG_EXT)) |
return (key_sign(id->key, sigp, lenp, data, datalen)); |
return (key_sign(id->key, sigp, lenp, data, datalen)); |
/* load the private key from the file */ |
/* load the private key from the file */ |
if ((prv = load_identity_file(id->filename, id->userprovided)) == NULL) |
if ((prv = load_identity_file(id->filename, id->userprovided)) == NULL) |
|
|
} |
} |
/* Prefer PKCS11 keys that are explicitly listed */ |
/* Prefer PKCS11 keys that are explicitly listed */ |
TAILQ_FOREACH_SAFE(id, &files, next, tmp) { |
TAILQ_FOREACH_SAFE(id, &files, next, tmp) { |
if (id->key == NULL || (id->key->flags & KEY_FLAG_EXT) == 0) |
if (id->key == NULL || (id->key->flags & SSHKEY_FLAG_EXT) == 0) |
continue; |
continue; |
found = 0; |
found = 0; |
TAILQ_FOREACH(id2, &files, next) { |
TAILQ_FOREACH(id2, &files, next) { |
if (id2->key == NULL || |
if (id2->key == NULL || |
(id2->key->flags & KEY_FLAG_EXT) == 0) |
(id2->key->flags & SSHKEY_FLAG_EXT) == 0) |
continue; |
continue; |
if (key_equal(id->key, id2->key)) { |
if (key_equal(id->key, id2->key)) { |
TAILQ_REMOVE(&files, id, next); |
TAILQ_REMOVE(&files, id, next); |