tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: 証明書ファイル
投稿日: 2019/06/13(Thu) 13:21
投稿者魔界の仮面弁士
> 先方より、証明書ファイルを頂き(crt,key)、

それはバイナリファイルでしょうか?

それともメモ帳で開けるテキストファイルでしょうか?
「-----BEGIN CERTIFICATE-----」〜「-----END CERTIFICATE-----」とか
「-----BEGIN RSA PRIVATE KEY-----」〜「-----END RSA PRIVATE KEY-----」とか…。


名前からすると、crt は公開鍵(証明書)っぽい気もします。

key の方は…秘密鍵っぽい名前ですね。
あるいは PKCS#12 インポート用のパスフレーズかも知れません。


> これを利用すると
> 取得できる情報が多くなるというお話がありました。

現状、Internet Explorer からの閲覧時に
クライアント証明書を指定できる環境になっていますか?

サーバー側で、クライアントの SSL 証明書を要求するよう設定されている場合、
ユーザーが Internet Explorer からそのサイトにアクセスすると、
SSL 証明書を選択するためのウィンドウが表示されるかと思います。
(証明書が一つだけの場合は、自動的に選択されるかも)

有効な証明書が選択肢にない場合には、Internet Explorer のメニューから
[ツール]-[インターネット オプション]を開き、
[コンテンツ]タブから証明書をインポートしておいてください。


> プログラム中で、このファイルはどのように指定するか
> わかりますでしょうか。

InternetExplorer の Navigate2 を呼び出す際に
クライアント証明書を選択する画面が表示されるかと思いますが、
コードから明示的に指定する方法が存在するかどうかは調べていません。


IE のように JavaScript の実行や、HTML DOM への加工を行えなくても良いのなら、
InternetExplorer オブジェクト以外の方法を選択する道も考えられます。

たとえば ServerXMLHTTP での通信に切り替えて
 'cn = "LOCAL_MACHINE\My\ストア内の名前"
 'cn = "C:\Foo\証明書ファイルへのフルパス"
 Set x = New ServerXMLHTTP
 x.setOption SXH_OPTION_SELECT_CLIENT_SSL_CERT, cn
 x.open "GET", "https://example.com", False
 x.send
などとすることで、コードから直接指定できそうです。未検証ですが。


追加でこのあたりも紹介しておきます。
今回の質問に直接関係する話ではありませんが、関連情報として。
http://hanatyan.sakura.ne.jp/vb60bbs/wforum.cgi?mode=allread&no=16149

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。