2010-12-28 17 views
1

私は証明書で署名する必要があるCOM経由で公開しているDLLを作成しました。ActiveX DLLに証明書を使用して署名する方法

私はVisual Studio 2008プロジェクトを作成しました。これには、ActiveXオブジェクトのコードを含むクラスライブラリがあります。私はそれを使用してASP.netのページを作成しました:

<script type="text/javascript"> 
    var x = new ActiveXObject("Foo.Bar"); 

    x.SomeMethod(); 
</script> 

私はサイトを実行し、セキュリティでエラーの束を取得していた。私はregasm/tlb/codebase foo.dllを実行し、この方法でインストールしました。私はまた、IEの無防備なActiveXコントロールを実行できるように私のセキュリティ設定の束を変更し、すべてうまくいきました。

これをCABファイルにパッケージし、証明書を使用して署名して、セキュリティ設定に触れる必要がないようにする必要があります(ユーザーもこれを行う必要はありません)。

誰かが私にこれを行う方法を教えてもらえますか?私はどこから始めるべきかも分かりません。 makecert.exeツールで自己署名入りの証明書を作成しましたが、証明書をDLLに結びつける方法や、CABでパッケージ化してウェブサイトで使用する方法がわかりません。

+0

は、あなたは、.NETでActiveXコントロールを書くことは、ベストプラクティスが原因パフォーマンスとサイド・バイ・サイドの問題には、Aではないことに注意する必要があります。少なくとも、このバージョンは1つのプロセスで正しく読み込まれるため、.NETv4フレームワークにコンパイルしてください。 – EricLaw

答えて

4

マイクロソフトはまともなこのことについては移動する方法についてのホワイトペーパー/チュートリアル:ここ

MSDN Article

が長いとそれの短いです: あなたのコード

  1. が証明書AUTからの証明書の申請署名しますhority。証明書を取得する手順については、http://msdn.microsoft.com/workshop/security/authcode/certs.aspを参照してください。

  2. ファイルに署名して署名を確認する最新のツールを入手してください。 http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/crypto/cryptotools_4739.htmを参照してください。

  3. 署名するファイルを準備します。 .exe、.ocx、.vbd、または.dllファイルに署名する場合は、特別な操作は必要ありません。あなたが.cabファイルに署名している場合、あなたはあなたの.ddfファイルに次のエントリを追加し、.cabファイル作り直す必要があります。

    .SET ReservePerCabinetSize = 6144

  4. をsigncode.exeを使用してファイルに署名

    。以下は、ファイルに署名する方法の例です:

    Signcode -prog myfilename -nameのDisplayName -info http://www.mycompany-inc-10.com - SPC mycredentials.spc -pvk myprivatekey.pvk

  5. は、あなたの署名をテストします。

    • 署名された.exe、.dll、.vbd、または.ocxファイルをテストするには、chktrustファイル名 を実行します。filenameは、署名したファイルの名前です。
    • 署名された.cabファイルをテストするには、chktrust -c cabfilename.cab を実行します。ここで、cabfilenameは、署名した.cabファイルの名前です。コード署名についての以下の正しい文を越えて
+0

Visual Studioで私用のCABファイルを作成するプロジェクトがあります。 .ddfファイルがありません。それは何ですか?また、これらの手作業の手順を取らずに、Visual Studioの内部でこれを行う方法はありますか? – Dismissile

+0

.DDF:DDFファイルは、Diamond Directive Fileと呼ばれ、メモ帳やテキストエディタで開くことができるテキストファイルです。 DDFには、ファイルをキャビネットファイルに圧縮するのに必要な情報が含まれています。 DDFファイル自体はCABファイルに配置されません。注:このファイルは、絶対に必要でない限り変更しないでください。 –

+1

このリンクはもう存在しません:http://msdn.microsoft.com/workshop/security/authcode/certs.asp、どのように私は認証局 –

関連する問題