none
プログラムにデジタル署名を付ける方法 RRS feed

  • 質問

  • 添付画像のように、デジタル署名付きプログラムを作る方法を教えて下さい。添付画像のプログラムは何れも過去に練習で作ったものですが、何故か下の画像のプログラムには「デジタル署名」タブがあり、上の画像のプログラムにはありません。

    どうやってデジタル署名ができたか、作ったか本人(私自身)が理解していない状態ですので、恥ずかしながらお伺いする次第です。


    2016年8月26日 12:12

すべての返信

  • デジタル署名の仕方は証明書の販売元が教えてくれると思います。ですので署名方法がわからないというのもおかしな話に感じられます。

    もし証明書をお持ちでないのであれば署名できたとして無意味ですので署名しないことをお勧めします。その上で、手順についてはSinTool.exeのドキュメントに例があります。

    # ところでVBAフォーラムは不適切に思います。VBかな?

    2016年8月26日 12:43
  • 失礼しました、「VB」です。

    >証明書の販売元が教えてくれる

    「販売元」なんて大層なものでは無くて、署名者名は私自身のパソコン名になっています。

    私は超初心者ですので手の込んだ方法で署名することはあり得ません。プロジェクト作成中にVisualStudioのどこかをクリックしたら自動的に署名タブが追加されると言うようなことはないのでしょうか?

    >署名しないことをお勧めします

    当方的には強いて署名は必要ではないのですが、ノートンセキュリティのパワーイレイサーでスキャンすると、署名の無いプログラムは「不正なプログラム」として削除対象になってしまうので、署名の付け方をお伺いした次第です。

    そもそもどうして1つだけのプログラムに署名タブがあるのでしょうね。

    2016年8月26日 13:14
  • 下記の手順でEXEにテスト証明書で署名をつけることができるようです。

    1. プロジェクトのプロパティを開く
    2. 「署名」タブを開く
    3. 「ClickOnce マニフェストに署名する」にチェックを入れる
    4. メニューの「ビルド」→「○○○の発行」を選択
    5. 完了ボタンをクリック

    プロジェクトフォルダの「bin\Debug\app.publish」または「bin\Release\app.publish」の中に署名済みのEXEができます。

    ※Visual Studio 2015のVB フォームアプリケーションプロジェクトで確認しました。
    ※3.で「アセンブリに署名する」にチェックを入れてもEXEに署名がつきます。

    2016年8月30日 2:08
  • 回答頂いて有難うございます。早速実行したのですが、下記エラーが出て「発行」出来ませんでした。

    「既定の証明書を作成できませんでした。発行を中止します。」

    ClickOnce マニフェストのチェックを外して「発行」した場合エラーが出ずに、発行完了しました。(当然「デジタル署名」欄は無しです。)

    プロジェクト作成段階でマズイことがあったのか、分からないままにあれこれこね回して設定を壊したのか、実験台プログラムを数個作って試してみます。

    2016年8月30日 12:06
  • 証明書をきちんと購入していない場合、他の環境に持って行くと不正な署名とか、信頼できない署名とか言われて、起動できなくなる恐れがありますが、自分用ですかね…?

    他者に配るつもりなら、署名しないか、数万円する証明書を買って署名するかになります。

    2016年8月30日 12:45
  • 他人に配布するのではなくて、自分で作って自分で使うだけです。そんなに作るのが大層なものなら、あっさり諦めますが、これまでの質疑をご覧いただければ分かる通り、難しいことはさっぱり分からないレベルでの質問です。


    2016年8月30日 13:27