🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Q&A

解決済

3回答

1487閲覧

ダイジェスト認証(.htdigest)ファイルをWindowsアプリで作成 (vb6)

nitarou

総合スコア14

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

0グッド

0クリップ

投稿2019/09/11 12:56

編集2019/09/11 12:59

前提・実現したいこと

クライアント(Windows)上でダイジェスト認証用ファイルを自動で作成したい

処理のイメージとしては、クライアント(windowsマシン)で
1 別アプリがユーザー、パスワードを記述したファイルを出力。
2 今回作成するアプリがそのファイルを読み込み、.htdigestファイルを作成して、FTPサーバにアップロードする。

というアプリ構造となります。

発生している問題・エラーメッセージ

Windows上にApacheをインストールして、bin配下のhtdigest.exeを使ってファイルを作成しますが、この時対話式となり、パスワードを2回入れる処理に引っかかります。
ベーシック認証であれば、htpasswd.exe filename username password のコマンドをアプリから実行処理できるのですが何か良い方法は無いでしょうか。。。

本来、webサーバ側でメンテナンスするのが一般的だと思いますが。。
出来ないという回答もあり得るかと思っています。。その場合は、Basic認証か、独自認証も視野に入れようと思います。

宜しくお願い致します。

補足情報(FW/ツールのバージョンなど)

クライアントは、Windows7、webサーバはcentos7となります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自分で作るのはどうでしょうか?

VB

1ハッシュ値 = MD5(ユーザ名 & ":" & 領域名 & ":" & パスワード)

で、ハッシュ値を求めて、

ユーザー名:領域名:ハッシュ値

というファイルを作ります。

MD5の計算の仕方は調べてください。

投稿2019/09/11 13:26

otn

総合スコア85882

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nitarou

2019/09/12 00:11

ご回答感謝いたします。.htdigest.exeから生成されるファイルと同じ結果となるのですね。そこは自分でも確信がありませんでしたので、試してみようと思います。
guest

0

.htdigestファイルはテキストファイルで中身は
username:realm:MD5("username:realm:password")
となります。
ですので、MD5を求められれば作成することができます。

VB.NETですとMD5を求めるMD5CryptoServiceProviderクラスがありますのでサポートが切れているVB6ではなくそちらを使用することをお勧めします。

投稿2019/09/11 13:27

YAmaGNZ

総合スコア10469

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nitarou

2019/09/12 00:16

ご回答ありがとうございます。ユーザ先指定で、今更VB6縛りがありますが、、、MD5計算→ファイル書き出し部分は、.netの別アプリケーションで作成してみようと思います。(VB6の情報も随分少なくなってきてますし。。)
guest

0

自己解決

ご両名の方、素早い回答、アドバイス感謝いたします。結局、advapi32.dllを利用して、vb6アプリ内からMD5のハッシュ値を出力しました。htdigest.exe コマンドから生成したものと同値でしたので大丈夫と思います。

ありがとうございました。

投稿2019/09/12 01:07

nitarou

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問