none
厳密アセンブリ作成のときにできるpfxファイルの内容をキーコンテナにインポートするのですか RRS feed

  • 質問

  • Visual Studioで厳密アセンブリを作成するとき、新規作成で.pfxファイルを作成します。

    .pfxには、秘密鍵、公開鍵が含まれます。

    Visual Studioは、コンパイル等を行うとき、キーコンテナにインポートしようとします。
    ※厳密アセンブリのプロジェクトを別PCでビルドすると、インポートに失敗しましたとかでますよね。。。
    ※またはパスワードを要求されますよね。

    で、疑問なのですが、なぜわざわざキーコンテナにインポートしようとするの?pfx自体パスワードかかってるから必要ないんじゃないの?
    ※キーコンテナにインポートする理由は、秘密鍵を平文のまま保存してはいけないと理解

    また、作成時のパスワードってどこに保存しているの?

    他社の開発メンバーにも同じプロジェクトを触ってもらうことになったのですが、

    開発PCなどは提供することになるので、.pfxがあるプロジェクトとキーコンテナにインポートしたものを渡してもよいのかなど
    分からなくなった次第です。

    2016年10月26日 5:51

回答

  • > 他社の開発メンバーにも同じプロジェクトを触ってもらうことになったのですが、
    > 開発PCなどは提供することになるので、.pfxがあるプロジェクトとキーコンテナに
    > インポートしたものを渡してもよいのか

    質問が上記だとすると、第三者にはもちろん社内の一般開発者にも渡すのは NG ではないかと思います。

    アセンブリが正しくロードされるという保障も、改ざんが防止できるというセキュリティ機能も、キーファイルに含まれる秘密キーをアセンブリの提供者(ソフトウェア会社)のみが持っているという前提の上に成り立っています。従って、このキーファイルはソフトウェア会社に固有となるようにし、流出しないよう厳重に管理する必要があるそうです。

    以下の記事によると、"Microsoftはキー・ペアを何らかのハードウェアに保管して(もちろんそれに対応するCSPプログラムを開発したのだろう)、それを数人しかアクセスできない金庫にしまっているらしい" そうです。

    第2回 アセンブリのアイデンティティ
    http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_02/idnfw11_02_02.html

    上記の記事の次のページに書いてありますが「遅延署名機能の利用」がよさそうです。

    • 回答の候補に設定 星 睦美 2016年11月2日 6:55
    • 回答としてマーク 星 睦美 2016年11月18日 4:45
    2016年10月26日 6:58