1

数か月前、サーバー上で作成したテスト証明書を使用してCABファイルに正常に署名できました。これが私が取ったステップです:

makecert.exe -sv "Demo.pvk" -n "CN = Demo Company、E = demo@gmail.com" "Demo.cer"

cert2spc.exe "Demo.cer" "Demo.spc"

pvk2pfx.exe -pvk "Demo.pvk" -pi "pvk_password" -spc "Demo.spc" -pfx "Demo.pfx" -po "pfx_password"

signtool.exe sign / f "Demo.pfx" / p "pfx_password" / v "D:\ Setup.cab"

「署名者の証明書は署名に無効です」というsigntoolを使用した最後の手順を除いて、すべての手順が成功します。私はこのエラーについてWebで調査しましたが、実際には何も問題を解決しませんでした。このエラーは通常、pfxの有効期限が切れているために発生しますが、ここではそうではありません。証明書をローカルの証明書ストアに正常にインポートし、その有効性を確認しました。

再作成しても、pfxでCABに署名できないのはなぜですか?この変更の原因となるいくつかのWindowsUpdateはありますか?

コマンドプロンプトを使用してpfxでCABに署名する他の方法の提案を受け付けています。

4

2 に答える 2

4

私はなんとかこのナットを割って、テスト証明書でCABに署名しました。

まず、自己署名を表す-rパラメーターを追加してmakecert呼び出しを変更しました。

makecert.exe -sv "Demo.pvk" -n "CN=Gregor Primar SP,E=gprimar@gmail.com" "Demo.cer" -r

次のステップは、pvk2pfxではなくmakecertを使用してpfxを作成することでした。

makecert -sk GpSolutionsKey -iv "Demo.pvk" -n "CN=Gregor Primar SP" -ic "Demo.cer" -sr currentuser -ss my -sky signature -pe

これにより、pfxがユーザー証明書ストア(-sr currentuser)にもインポートされます。

次に、mmcを開き、証明書スナップイン(私のユーザーアカウント)を追加しました。個人証明書を選択し、ディスクにエクスポートしました。

最後のステップは、次のコマンドを使用して署名することでした。

signtool.exe sign /f "Demo.pfx" /p "pfx_password" /v "d:\Setup.cab"

そして、Setup.cabはDemo.pfxで正常に署名されました!

于 2012-12-10T11:07:02.257 に答える
0

キーのパブリックサイズが2048ビット未満である可能性があります(デフォルトでは、署名できない長さ= 1024を使用します)。2048ビットは、OSが署名プロセスを実行できるようにするために必要な最小サイズです。実行中にこの値を確認できます。certmgrコマンドラインで、最近作成した証明書が含まれているフォルダーに移動し、証明書をダブルクリックして[詳細]タブに移動し、キーのパブリックサイズが2048以上であることを確認します

サイズが2048未満の場合は、makevertコマンドにフラグ-len = 2048(またはgrather)を追加して再度生成する必要があります。また、-rフラグを含めました。

makecert -sv "mycertif.pvk" -n "CN=Totem Company" -len 2048 mycertif.cer -r

遅く、signtoolを使用してサインを適用します

私のために働く、頑張ってください

于 2014-04-15T15:51:22.643 に答える