1

私は自己署名証明書を作成しようとしていますmakecert。これが私がしていることです:

makecert -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -cy authority
-h 1 -a sha1 -sv "D:\TuyenTk CA.pvk" -r "D:\TuyenTk CA.cer"


makecert -n "CN=TuyenTk" -ic "D:\TuyenTk CA.cer" -iv "D:\TuyenTk CA.pvk" 
-eku "1.3.6.1.5.5.7.3.3" -cy end -a sha1 -h 0 -sky exchange -pe "D:\TuyenTk.cer"


pvk2pfx -pvk "D:\TuyenTk CA.pvk" -spc "D:\TuyenTk CA.cer" 
-pfx "D:\TuyenTk.pfx" -pi "myPassWord"

最初の行は make self sign cert (CA cert)、2 行目は use CA cert sign other cert、最後はpfxexe ファイルに署名するためのファイルの生成です。

上記の 3 つのコマンドはすべて成功したと報告されていますが、 と をダブルクリックするTuyenTk CA.cerTuyenTk.cer、[詳細] タブのウィンドウに基本的な制約が重要であることが示されます。そのため、ファイルを使用しTuyenTk.pfxて exe ファイルに署名すると、[デジタル署名] タブで証明書が無効になります:証明書の基本的な制約拡張が観察されていません

インストールする前に証明書の詳細を表示し、信頼されたルートまたは証明書ストアの個人的な場所にインストールした後でもエラーが表示されます。

この問題を解決するにはどうすればよいですか? 感謝!

4

1 に答える 1

0

自己署名ルート CA 証明書を作成するには、次のオプションを試してください。

    makecert -r -pe -m 1200 -len 2048 -n "CN=TuyenTk CA, C=VN, ST=Hanoi, L=Hoan Kiem" -ss CA -sr CurrentUser -a sha1 -sky signature -cy authority -sv "D:\TuyenTk_CA.pvk" "D:\TuyenTk_CA.cer"

基本的な制約で署名の深さを無制限にするために、「-h 1」を省略しました。一部の SSL パッケージは無制限のパスの長さを好まないため、キーのレイヤーを使用する、「-h 5」またはニーズを満たすと思われる値を入れることができます。追加したスイッチ:

    -pe              Make private key exportable
    -m 1200          Make CA key valid for 100 years (1200 months)
    -ss CA           This key goes into the CA certificate store
    -sr CurrentUser  Certificate store location
    -sky signature   Key type (use for signing)

また、名前に (空白の代わりに) アンダースコアを追加しました。必要ないかもしれませんが、私の証明書ファイルにはスペースがありません (これらのユーティリティは奇妙な場合があります)。

CA 証明書をインポートするときは、必ず "Trusted Root Certification Authorities\Local Computer" 物理ストアの場所にインポートしてください。たとえば、管理コマンド プロンプトからこれを使用します。

    certutil -addstore -v root "D:\TuyenTk_CA.cer"

これらの手順は、XP で機能し、今日は Windows 7 で機能します。これが役立つことを願っています!

  • ドラッグ
于 2015-06-28T08:28:26.143 に答える