| 242 |
KEY_ECDSA256, |
KEY_ECDSA256, |
| 243 |
KEY_ECDSA384, |
KEY_ECDSA384, |
| 244 |
KEY_ECDSA521, |
KEY_ECDSA521, |
| 245 |
|
KEY_ED25519, |
| 246 |
KEY_UNSPEC, |
KEY_UNSPEC, |
| 247 |
KEY_MAX = KEY_UNSPEC, |
KEY_MAX = KEY_UNSPEC, |
| 248 |
} ssh_keytype; |
} ssh_keytype; |
| 249 |
#define isFixedLengthKey(type) ((type) >= KEY_DSA && (type) <= KEY_ECDSA521) |
#define isFixedLengthKey(type) ((type) >= KEY_DSA && (type) <= KEY_ED25519) |
| 250 |
|
|
| 251 |
typedef struct ssh2_host_key { |
typedef struct ssh2_host_key { |
| 252 |
ssh_keytype type; |
ssh_keytype type; |
| 260 |
{KEY_ECDSA256, "ecdsa-sha2-nistp256"}, // RFC5656 |
{KEY_ECDSA256, "ecdsa-sha2-nistp256"}, // RFC5656 |
| 261 |
{KEY_ECDSA384, "ecdsa-sha2-nistp384"}, // RFC5656 |
{KEY_ECDSA384, "ecdsa-sha2-nistp384"}, // RFC5656 |
| 262 |
{KEY_ECDSA521, "ecdsa-sha2-nistp521"}, // RFC5656 |
{KEY_ECDSA521, "ecdsa-sha2-nistp521"}, // RFC5656 |
| 263 |
|
{KEY_ED25519, "ssh-ed25519"}, |
| 264 |
{KEY_UNSPEC, "ssh-unknown"}, |
{KEY_UNSPEC, "ssh-unknown"}, |
| 265 |
{KEY_NONE, NULL}, |
{KEY_NONE, NULL}, |
| 266 |
}; |
}; |
| 456 |
int bits; |
int bits; |
| 457 |
unsigned char *exp; |
unsigned char *exp; |
| 458 |
unsigned char *mod; |
unsigned char *mod; |
| 459 |
|
// SSH2 ED25519 |
| 460 |
|
unsigned char *ed25519_sk; |
| 461 |
|
unsigned char *ed25519_pk; |
| 462 |
|
int bcrypt_kdf; |
| 463 |
} Key; |
} Key; |
| 464 |
|
|
| 465 |
// fingerprintの種別 |
// fingerprintの種別 |
| 614 |
void debug_print(int no, char *msg, int len); |
void debug_print(int no, char *msg, int len); |
| 615 |
int get_cipher_block_size(SSHCipher cipher); |
int get_cipher_block_size(SSHCipher cipher); |
| 616 |
int get_cipher_key_len(SSHCipher cipher); |
int get_cipher_key_len(SSHCipher cipher); |
| 617 |
|
SSHCipher get_cipher_by_name(char *name); |
| 618 |
char* get_kex_algorithm_name(kex_algorithm kextype); |
char* get_kex_algorithm_name(kex_algorithm kextype); |
| 619 |
const EVP_CIPHER* get_cipher_EVP_CIPHER(SSHCipher cipher); |
const EVP_CIPHER* get_cipher_EVP_CIPHER(SSHCipher cipher); |
| 620 |
const EVP_MD* get_kex_algorithm_EVP_MD(kex_algorithm kextype); |
const EVP_MD* get_kex_algorithm_EVP_MD(kex_algorithm kextype); |