Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/ttssh2/ttxssh/kex.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 9254 by nmaya, Wed Dec 16 12:24:13 2020 UTC revision 9255 by nmaya, Wed May 19 14:11:26 2021 UTC
# Line 26  Line 26 
26   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27   */   */
28    
29    #ifndef KEX_H
30    #define KEX_H
31    
32  #include "ttxssh.h"  #include "ttxssh.h"
33    
34    // クライアントからサーバへの提案事項
35    enum kex_init_proposals {
36            PROPOSAL_KEX_ALGS,
37            PROPOSAL_SERVER_HOST_KEY_ALGS,
38            PROPOSAL_ENC_ALGS_CTOS,
39            PROPOSAL_ENC_ALGS_STOC,
40            PROPOSAL_MAC_ALGS_CTOS,
41            PROPOSAL_MAC_ALGS_STOC,
42            PROPOSAL_COMP_ALGS_CTOS,
43            PROPOSAL_COMP_ALGS_STOC,
44            PROPOSAL_LANG_CTOS,
45            PROPOSAL_LANG_STOC,
46            PROPOSAL_MAX
47    };
48    
49    #define KEX_DEFAULT_KEX     ""
50    #define KEX_DEFAULT_PK_ALG  ""
51    #define KEX_DEFAULT_ENCRYPT ""
52    #define KEX_DEFAULT_MAC     ""
53    #define KEX_DEFAULT_COMP    ""
54    #define KEX_DEFAULT_LANG    ""
55    
56    extern char *myproposal[PROPOSAL_MAX];
57    
58    typedef enum {
59            KEX_DH_NONE,       /* disabled line */
60            KEX_DH_GRP1_SHA1,
61            KEX_DH_GRP14_SHA1,
62            KEX_DH_GEX_SHA1,
63            KEX_DH_GEX_SHA256,
64            KEX_ECDH_SHA2_256,
65            KEX_ECDH_SHA2_384,
66            KEX_ECDH_SHA2_521,
67            KEX_DH_GRP14_SHA256,
68            KEX_DH_GRP16_SHA512,
69            KEX_DH_GRP18_SHA512,
70            KEX_DH_UNKNOWN,
71            KEX_DH_MAX = KEX_DH_UNKNOWN,
72    } kex_algorithm;
73    
74    char* get_kex_algorithm_name(kex_algorithm kextype);
75    const EVP_MD* get_kex_algorithm_EVP_MD(kex_algorithm kextype);
76    
77    void normalize_kex_order(char *buf);
78    kex_algorithm choose_SSH2_kex_algorithm(char *server_proposal, char *my_proposal);
79    void SSH2_update_kex_myproposal(PTInstVar pvar);
80    
81    
82  // SSH_MSG_KEY_DH_GEX_REQUEST での min, n, max がとり得る範囲の上限/下限 (RFC 4419)  // SSH_MSG_KEY_DH_GEX_REQUEST での min, n, max がとり得る範囲の上限/下限 (RFC 4419)
83  #define GEX_GRP_LIMIT_MIN   1024  #define GEX_GRP_LIMIT_MIN   1024
84  #define GEX_GRP_LIMIT_MAX   8192  #define GEX_GRP_LIMIT_MAX   8192
# Line 85  unsigned char *kex_ecdh_hash(const EVP_M Line 136  unsigned char *kex_ecdh_hash(const EVP_M
136  int dh_pub_is_valid(DH *dh, BIGNUM *dh_pub);  int dh_pub_is_valid(DH *dh, BIGNUM *dh_pub);
137  void kex_derive_keys(PTInstVar pvar, int need, u_char *hash, BIGNUM *shared_secret,  void kex_derive_keys(PTInstVar pvar, int need, u_char *hash, BIGNUM *shared_secret,
138                       char *session_id, int session_id_len);                       char *session_id, int session_id_len);
139    
140    #endif                          /* KEX_H */

Legend:
Removed from v.9254  
changed lines
  Added in v.9255

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26