Heimdal NTLM library(3) | Heimdalntlmlibrary | Heimdal NTLM library(3) |
名称
Heimdal NTLM ライブラリ-関数
void heim_ntlm_free_buf (struct ntlm_buf *p)
詳細説明
NTLM コア関数は、string2key 生成関数、メッセージエンコードとデコード関数とハッシュ関数の関数群を実装しています。関数説明
int heim_ntlm_build_ntlm1_master (void * key, size_t len, struct ntlm_buf * session, struct ntlm_buf * master)
セッションマスタキーに関連する NTLMv1 セッション乱数を生成します。パラメータ:
key ntlm v1 キー
len キーの長さ
session 生成されたセッション使い捨て乱数 (ノンス nonce)、
heim_ntlm_free_buf() で解放されるべきです。
master 計算されたセッションマスタキー、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_build_ntlm2_master (void * key, size_t len, struct ntlm_buf * blob, struct ntlm_buf * session, struct ntlm_buf * master)
セッションマスタキーに関連する NTLMv2 セッション乱数を生成します。パラメータ:
key NTLMv2 キー
len キーの長さ
blob NTLMv2 'blob'
session 生成されたセッション使い捨て乱数 (ノンス nonce)、
heim_ntlm_free_buf() で解放されるべきです。
master 計算されたセッションマスタキー、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_calculate_lm2 (const void * key, size_t len, const char * username, const char * target, const unsigned char serverchallenge[8], unsigned char ntlmv2[16], struct ntlm_buf * answer)
LMv2 応答を計算しますパラメータ:
key ntlm キー
len キーの長さ
username メッセージで送信されるユーザの名前、UTF8 であると仮定されます。
target ターゲットの名前、UTF8 であると仮定されます。
serverchallenge type2 メッセージのサーバによって送信されるチャレンジ。
ntlmv2 計算されるセッションキー
answer ntlm 応答の答え、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_calculate_ntlm1 (void * key, size_t len, unsigned char challenge[8], struct ntlm_buf * answer)
NTLMv1 応答ハッシュを計算しますパラメータ:
key ntlm v1 キー
len キーの長さ
challenge サーバによって送信される
answer 計算された答え、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_calculate_ntlm2 (const void * key, size_t len, const char * username, const char * target, const unsigned char serverchallenge[8], const struct ntlm_buf * infotarget, unsigned char ntlmv2[16], struct ntlm_buf * answer)
NTLMv2 応答を計算しますパラメータ:
key ntlm キー
len キーの長さ
username メッセージで送信されるユーザの名前、UTF8 であると仮定されます。
target ターゲットの名前、UTF8 であると仮定されます。
serverchallenge type2 メッセージのサーバによって送信されるチャレンジ。
infotarget type2 メッセージのサーバによって送信される情報ターゲット。
ntlmv2 計算されるセッションキー
answer ntlm 応答の答え、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_decode_targetinfo (const struct ntlm_buf * data, int ucs2, struct ntlm_targetinfo * ti)
NTLM targetinfo メッセージをデコードします。パラメータ:
data エンコード NTLM targetinfo メッセージがある入力データバッファ
ucs2 文字列が (メッセージのフラグによって選択された) ucs2 でエンコードされるべきであるなら。
ti デコードされたターゲット情報、
heim_ntlm_free_targetinfo() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_encode_targetinfo (const struct ntlm_targetinfo * ti, int ucs2, struct ntlm_buf * data)
ntlm_targetinfo メッセージをエンコードします。パラメータ:
ti エンコードされる ntlm_targetinfo メッセージ。
ucs2 無視されます
data は、エンコードされたメッセージを返すバッファです、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_encode_type1 (const struct ntlm_type1 * type1, struct ntlm_buf * data)
ntlm_type1 メッセージをエンコードします。パラメータ:
type1 エンコードする
ntlm_type1 メッセージ。
data は、エンコードされたメッセージを返すバッファです、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_encode_type2 (const struct ntlm_type2 * type2, struct ntlm_buf * data)
ntlm_type2 メッセージをエンコードします。パラメータ:
type2 エンコードする
ntlm_type2 メッセージ。
data は、エンコードされたメッセージを返すバッファです、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_encode_type3 (const struct ntlm_type3 * type3, struct ntlm_buf * data)
ntlm_type3 メッセージをエンコードします。パラメータ:
type3 エンコードする
ntlm_type3 メッセージ。
data は、エンコードされたメッセージを返すバッファです、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
void heim_ntlm_free_buf (struct ntlm_buf * p)
heim_ntlm_free_buf は、ntlm バッファを解放しますパラメータ:
p 解放されるバッファ
void heim_ntlm_free_targetinfo (struct ntlm_targetinfo * ti)
ntlm_targetinfo メッセージを解放しますパラメータ:
ti 解放される targetinfo
void heim_ntlm_free_type1 (struct ntlm_type1 * data)
ntlm_type1 メッセージを解放しますパラメータ:
data 解放されるメッセージ
void heim_ntlm_free_type2 (struct ntlm_type2 * data)
ntlm_type2 メッセージを解放しますパラメータ:
data 解放されるメッセージ
void heim_ntlm_free_type3 (struct ntlm_type3 * data)
ntlm_type3 メッセージを解放しますパラメータ:
data 解放されるメッセージ
int heim_ntlm_keyex_unwrap (struct ntlm_buf * baseKey, struct ntlm_buf * encryptedSession, struct ntlm_buf * session)
キーと暗号化されたセッションを与えて、セッションキーをアンラップ (unwrap) しますパラメータ:
baseKey セッションベースキー (sessionBaseKey)
encryptedSession 暗号化されたセッション、type3.session フィールド。
session 生成されたセッション使い捨て乱数 (ノンス nonce)、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_nt_key (const char * password, struct ntlm_buf * key)
NTLM キーを計算します、パスワードは、UTF8 であると仮定されます。パラメータ:
password キーを計算するパスワード。
key 計算されたキー、
heim_ntlm_free_buf() で解放されるべきです。
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
int heim_ntlm_ntlmv2_key (const void * key, size_t len, const char * username, const char * target, unsigned char ntlmv2[16])
NTLMv2 セッションキーを生成します。パラメータ:
key ntlm キー
len キーの長さ
username メッセージで送信されるユーザの名前、UTF8 であると仮定されます。
target ターゲットの名前、UTF8 であると仮定されます。
ntlmv2 ntlmv2 セッションキー
返り値:
成功すれば、0、または失敗でエラーコード。
int heim_ntlm_verify_ntlm2 (const void * key, size_t len, const char * username, const char * target, time_t now, const unsigned char serverchallenge[8], const struct ntlm_buf * answer, struct ntlm_buf * infotarget, unsigned char ntlmv2[16])
NTLMv2 応答を検証します。パラメータ:
key ntlm キー
len キーの長さ
username メッセージで送信されるユーザの名前、UTF8 であると仮定されます。
target ターゲットの名前、UTF8 であると仮定されます。
now 今の時間 (ライブラリがそれ自体を獲得するなら、0)
serverchallenge type2 メッセージのサーバによって送信されるチャレンジ。
answer ntlm 応答の答え、
heim_ntlm_free_buf() で解放されるべきです。
infotarget type2 メッセージのサーバによって送信される情報ターゲット。
ntlmv2 計算されたセッションキー
返り値:
成功の場合に、0 が返され、エラーのとき、errno に何が間違ったか。
11 Jan 2012 | Version 1.5.2 |