これを邪魔にならないようにしましょう...私:
Visual Studio 2012 を使用する
VB.NETアプリケーションの開発- ほとんどが .NET フレームワーク 3.5、いくつかは 2.0。
開発には Windows 7 を使用します (ユーザーは Windows 7 も使用しています。少数の内部ユーザー (40 未満) がいます)。
また、私はこれが初めてで、このプロセスを完全には理解していないと述べます。暗号化/ハッシュ/キーなどの基本的な概念は理解してい.cer
ますが、ファイルではなくファイルが必要な理由はわかりません.pfx
。
さて...
証明書を使用してマニフェストに署名するアプリケーションがあります。最近、基本的に Visual Studio 2010 をスキップして、Visual Studio 2008 から Visual Studio 2012 にアップグレードしました。そのプロセスのどこかで、証明書が無効になっているか破損しています。
makecert.exe
提案された解決策: 「前回と同じように」新しいものを作成します。私たちが証明書を必要とするのは、私たち自身の少数のユーザーのセットと、「この発行元を信頼しますか?」という小さな利便性だけである場合、証明書にお金を払う意味はありません。メッセージ(だと思いますか?)。
公開しようとすると、正確なエラーは次のとおりです。
プロジェクトのビルドに失敗したため公開できません。
署名中にエラーが発生しました: bin\Release\app.publish\setup.exe に署名できませんでした。SignTool エラー: 署名者の証明書は署名に対して有効ではありません。SignTool エラー: 署名中にエラーが発生しました: bin\Release\app.publish\setup.exe
現在、 .NET Framework 2.0 を使用してアプリケーションで証明書をサポートするという記事には、次のように書かれています。
デスクトップ アプリケーションの場合、通常はユーザー ストアに証明書をインストールします。
したがって、(証明書スナップインを使用したMMC経由で) ユーザー ストアを見ると、次のように表示されます。
赤い線があるところは、OLD/INVALID 証明書です。もう 1 つはまだ有効期限が切れておらず、私のユーザー名が記載されています (2013-06-20)。
ストアから選択すると、次のように表示されます。
興味がある場合は、これらのいずれかを配置する他の直感的な場所は次のようになります。
では、古い/悪いものがある場所に別のものを追加するにはどうすればよいですか?
これが私が試したことです:
これらの指示に従って、実行しました
makecert -n "CN=TempCA" -r -sv TempCA.pvk TempCA.cer
今、私は.pvk
ファイルとファイルを持ってい.cer
ます。次に、Pvk2Pfx (Windows ドライバー)の指示に従って実行しました
pvk2pfx.exe -pvk TempCA.pvk -spc TempCA.cer -pfx TempCA.pfx
今、私は.pfx
ファイルを持っています... (これは私が必要とするものですか?)、しかし、MMC を使用して証明書ストアにインポートしようとすると、使用したパスワードは、たとえコピーして貼り付けたとしても、間違っていると思われます.(インポート プログラムのバグのように聞こえます...これは再現できます。)
別のルートを試してみると、.cer
ファイルをインポートした後、Visual Studio の [ストアから選択] ウィンドウに表示されないため、役に立ちません。
私はこれに 1 日を費やし、あきらめる準備ができていますが、できません。私は何をする必要がありますか?