|
static enum asn1_iterator_result | asn1_der_iterator_first (struct asn1_der_iterator *der, int size, const void *der_buf) |
|
static enum asn1_iterator_result | asn1_der_iterator_next (struct asn1_der_iterator *der) |
|
static void | convert_to_upper (char *buf, size_t len) |
|
static size_t | convert_to_usc2le_string (TDSSOCKET *tds, const char *s, size_t len, char *out) |
|
static void | fill_names_blob_prefix (names_blob_prefix_t *prefix) |
|
static unsigned char * | make_lm_v2_response (const unsigned char ntlm_v2_hash[16], const unsigned char *client_data, int client_data_len, const unsigned char challenge[8]) |
|
static TDSRET | make_ntlm_hash (TDSSOCKET *tds, const char *passwd, unsigned char ntlm_hash[16]) |
|
static TDSRET | make_ntlm_v2_hash (TDSSOCKET *tds, const char *passwd, unsigned char ntlm_v2_hash[16]) |
|
static void | memxor (uint8_t *dest, const uint8_t *src, size_t len) |
|
static void | mgf_mask (uint8_t *dest, size_t dest_len, const uint8_t *mask, size_t mask_len) |
|
static void | nettle_mpz_get_str_256 (unsigned length, uint8_t *s, const mpz_t x) |
|
static void | nettle_mpz_set_str_256_u (mpz_t x, unsigned length, const uint8_t *s) |
|
static int | oaep_encrypt (size_t key_size, size_t length, const uint8_t *message, mpz_t m) |
|
static int | rsa_encrypt_oaep (const struct rsa_public_key *key, size_t length, const uint8_t *message, mpz_t gibberish) |
|
static const BIGNUM * | rsa_get_n (const RSA *rsa) |
|
static void | rsa_public_key_clear (struct rsa_public_key *key) |
|
static int | rsa_public_key_from_der_iterator (struct rsa_public_key *key, unsigned key_bits, struct asn1_der_iterator *der) |
|
static void | rsa_public_key_init (struct rsa_public_key *key) |
|
static void | sha1 (uint8_t *hash, const void *data, size_t len) |
|
TDSAUTHENTICATION * | tds5_negotiate_get_auth (TDSSOCKET *tds TDS_UNUSED) |
|
static void * | tds5_rsa_encrypt (const void *key, size_t key_len, const void *nonce, size_t nonce_len, const char *pwd, size_t *em_size) |
|
static TDSRET | tds7_send_auth (TDSSOCKET *tds, const unsigned char *challenge, uint32_t flags, const unsigned char *names_blob, int names_blob_len) |
|
static TDSRET | tds_answer_challenge (TDSSOCKET *tds, TDSLOGIN *login, const unsigned char *challenge, uint32_t *flags, const unsigned char *names_blob, int names_blob_len, TDSANSWER *answer, unsigned char **ntlm_v2_response) |
| Crypt a given password using schema required for NTLMv1 or NTLM2 authentication.
|
|
static TDSRET | tds_answer_challenge_ntlmv2 (TDSSOCKET *tds, TDSLOGIN *login, const unsigned char *challenge, uint32_t *flags, const unsigned char *names_blob, int names_blob_len, TDSANSWER *answer, unsigned char **ntlm_v2_response) |
|
static void | tds_convert_key (const unsigned char *key_56, DES_KEY *ks) |
|
static void | tds_encrypt_answer (const unsigned char *hash, const unsigned char *challenge, unsigned char *answer) |
|
static TDSRET | tds_ntlm_free (TDSCONNECTION *conn TDS_UNUSED, TDSAUTHENTICATION *tds_auth) |
|
TDSAUTHENTICATION * | tds_ntlm_get_auth (TDSSOCKET *tds) |
| Build a NTLMSPP packet to send to server.
|
|
static TDSRET | tds_ntlm_handle_next (TDSSOCKET *tds, struct tds_authentication *auth TDS_UNUSED, size_t len) |
|
static void | unix_to_nt_time (uint64_t *nt, struct timeval *tv) |
| put a 8 byte filetime from a time_t This takes GMT as input
|
|
Functions for handling authentication.