version 1.34, 2019/09/03 08:31:20 |
version 1.35, 2019/10/31 21:15:14 |
|
|
KEY_ED25519_CERT, |
KEY_ED25519_CERT, |
KEY_XMSS, |
KEY_XMSS, |
KEY_XMSS_CERT, |
KEY_XMSS_CERT, |
|
KEY_ECDSA_SK, |
|
KEY_ECDSA_SK_CERT, |
KEY_UNSPEC |
KEY_UNSPEC |
}; |
}; |
|
|
|
|
struct sshkey { |
struct sshkey { |
int type; |
int type; |
int flags; |
int flags; |
|
/* KEY_RSA */ |
RSA *rsa; |
RSA *rsa; |
|
/* KEY_DSA */ |
DSA *dsa; |
DSA *dsa; |
|
/* KEY_ECDSA and KEY_ECDSA_SK */ |
int ecdsa_nid; /* NID of curve */ |
int ecdsa_nid; /* NID of curve */ |
EC_KEY *ecdsa; |
EC_KEY *ecdsa; |
|
/* KEY_ED25519 */ |
u_char *ed25519_sk; |
u_char *ed25519_sk; |
u_char *ed25519_pk; |
u_char *ed25519_pk; |
|
/* KEY_XMSS */ |
char *xmss_name; |
char *xmss_name; |
char *xmss_filename; /* for state file updates */ |
char *xmss_filename; /* for state file updates */ |
void *xmss_state; /* depends on xmss_name, opaque */ |
void *xmss_state; /* depends on xmss_name, opaque */ |
u_char *xmss_sk; |
u_char *xmss_sk; |
u_char *xmss_pk; |
u_char *xmss_pk; |
|
/* KEY_ECDSA_SK */ |
|
char *sk_application; |
|
uint8_t sk_flags; |
|
struct sshbuf *sk_key_handle; |
|
struct sshbuf *sk_reserved; |
|
/* Certificates */ |
struct sshkey_cert *cert; |
struct sshkey_cert *cert; |
|
/* Private key shielding */ |
u_char *shielded_private; |
u_char *shielded_private; |
size_t shielded_len; |
size_t shielded_len; |
u_char *shield_prekey; |
u_char *shield_prekey; |
|
|
int ssh_ecdsa_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, |
int ssh_ecdsa_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, |
const u_char *data, size_t datalen, u_int compat); |
const u_char *data, size_t datalen, u_int compat); |
int ssh_ecdsa_verify(const struct sshkey *key, |
int ssh_ecdsa_verify(const struct sshkey *key, |
|
const u_char *signature, size_t signaturelen, |
|
const u_char *data, size_t datalen, u_int compat); |
|
int ssh_ecdsa_sk_verify(const struct sshkey *key, |
const u_char *signature, size_t signaturelen, |
const u_char *signature, size_t signaturelen, |
const u_char *data, size_t datalen, u_int compat); |
const u_char *data, size_t datalen, u_int compat); |
int ssh_ed25519_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, |
int ssh_ed25519_sign(const struct sshkey *key, u_char **sigp, size_t *lenp, |