どのように私は、コード署名証明書を使用してActiveXコントロールを署名し、検証済み発行者になることができますか?
-
26-09-2019 - |
質問
私はThawte社によって発行されたコード署名証明書を使用してActiveXコントロールに署名しようとしています。私は正常ときSignTool.exeを使用してコントロールに署名することができました。
私は、ファイルのプロパティを見ると、、それは「署名内の証明書を検証することはできません。」と言います
私はそれが言う証明書表示すると、「Windowsが証明書を検証するのに十分な情報を持っていません。」
証明書パス]タブで、それは「この証明書の発行者が見つかりません。」と言う。
がInternet Explorerで、署名と証明書が認識されているが、ユーザが発行者が検証されていないという警告を受けています。
私は、ルートおよび中間証明書私のThawte社開発用証明書にチェーン、およびそのPFXファイルを使用して再署名制御それと一緒に私の証明書を含む単一のPFXファイルを作成しようとしました。ノーサイコロます。
任意の提案ですか?
解決
質問は、実際に正しいprocedure--は、ルート証明書、中間証明書、開発者の証明書、および秘密鍵が含まれているPFXファイルを使用して署名を行うことが含まれています。また、タイムスタンプサーバを使用しています。ルートへの証明書を署名するために使用されるように、私の問題は、私は私のPFXに含ま間違ったルート証明書を持っていたということであった可能性がないチェーンバックます。
要求することで、ここではPFXファイルを作成する方法についての情報です。私は以下を使用することをcert2spcとpvk2pfxは、プラットフォームSDKにもあります。
cert2spc certpath1.cer certpath2.cer certpath3.cer codesign.spc
.cerのファイルのリストは、ルート、中間、およびコード署名証明書を含み、そしてcodesign.spcは、出力ファイルです。その後ます:
pvk2pfx -pvk privkey.pvk -spc codesign.spc
このようにpvk2pfxを実行するには、秘密鍵のパスフレーズ、および出力ファイルの場所、および出力ファイルのパスフレーズのプロンプトというウィザードが起動します。
最後に、SignToolのは、実際のコード署名を行います:
signtool sign /f my_certificates.pfx /p my_passphrase /t http://timestamp.verisign.com/scripts/timstamp.dll my_activex_control.ocx
振り返ってみると、私が直接.spcファイルと.pvkファイルのファイルを使用しています(私は、.NET SDKの一部だと思う)コード署名ウィザード別名signcode.exeを使用して、時間を保存している場合があります。