version 1.3, 2019/11/25 00:51:37 |
version 1.4, 2019/11/26 03:04:27 |
|
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
|
|
|
/* #define DEBUG_SK 1 */ |
|
|
#define SSHKEY_INTERNAL |
#define SSHKEY_INTERNAL |
#include <sys/types.h> |
#include <sys/types.h> |
#include <limits.h> |
#include <limits.h> |
|
|
r = SSH_ERR_INVALID_FORMAT; |
r = SSH_ERR_INVALID_FORMAT; |
goto out; |
goto out; |
} |
} |
|
#ifdef DEBUG_SK |
|
fprintf(stderr, "%s: data:\n", __func__); |
|
/* sshbuf_dump_data(data, datalen, stderr); */ |
|
fprintf(stderr, "%s: sigblob:\n", __func__); |
|
sshbuf_dump_data(sigblob, len, stderr); |
|
fprintf(stderr, "%s: sig_flags = 0x%02x, sig_counter = %u\n", |
|
__func__, sig_flags, sig_counter); |
|
#endif |
if (strcmp(sshkey_ssh_name_plain(key), ktype) != 0) { |
if (strcmp(sshkey_ssh_name_plain(key), ktype) != 0) { |
r = SSH_ERR_KEY_TYPE_MISMATCH; |
r = SSH_ERR_KEY_TYPE_MISMATCH; |
goto out; |
goto out; |
|
|
r = SSH_ERR_INVALID_ARGUMENT; |
r = SSH_ERR_INVALID_ARGUMENT; |
goto out; |
goto out; |
} |
} |
|
#ifdef DEBUG_SK |
|
fprintf(stderr, "%s: hashed application:\n", __func__); |
|
sshbuf_dump_data(apphash, sizeof(apphash), stderr); |
|
fprintf(stderr, "%s: hashed message:\n", __func__); |
|
sshbuf_dump_data(msghash, sizeof(msghash), stderr); |
|
#endif |
if ((details = calloc(1, sizeof(*details))) == NULL) { |
if ((details = calloc(1, sizeof(*details))) == NULL) { |
r = SSH_ERR_ALLOC_FAIL; |
r = SSH_ERR_ALLOC_FAIL; |
goto out; |
goto out; |
|
|
r = SSH_ERR_ALLOC_FAIL; |
r = SSH_ERR_ALLOC_FAIL; |
goto out; |
goto out; |
} |
} |
|
#ifdef DEBUG_SK |
|
fprintf(stderr, "%s: signed buf:\n", __func__); |
|
sshbuf_dump(encoded, stderr); |
|
#endif |
sm = sshbuf_ptr(encoded); |
sm = sshbuf_ptr(encoded); |
smlen = sshbuf_len(encoded); |
smlen = sshbuf_len(encoded); |
mlen = smlen; |
mlen = smlen; |