強名介紹Strong Name

2021-04-18 07:20:40 字數 1176 閱讀 7751

錯誤:對程式集「***.dll」簽名時加密失敗   --「讀取金鑰檔案「***x.snk」時出錯   --   系統找不到指定的檔案。 」

原因是沒有金鑰檔案,可以使用這樣的方法建立乙個金鑰檔案:           1,找到簽名工具sn.exe,預設的路徑是:系統盤:/program   files/microsoft   visual   studio   .net   2003/sdk/v1.1/bin;(如果沒有的話通過搜尋sn.exe來查詢)   在命令列下輸入sn -k ***x.snk,將生成的***x.snk copy 到專案目錄即可

2. 或者最直接的方法就是,不要簽名了,找到***專案的assemblyinfo.cs檔案,注釋掉下面一行:             [assembly:   assemblykeyfileattribute("..***.snk")]             編譯就可以通過了。  

強名稱為程式集簽名 建立金鑰對 建立金鑰對 要使用強名稱為程式集簽名,必須具有公鑰/私鑰對。sn -k sgkey.snk 如果您需要延遲對程式集簽名並控制整個金鑰對(金鑰對不太可能在測試方案之外),可使用以下命令生成金鑰對,然後從中將公鑰提取到乙個單獨的檔案中。首先,建立金鑰對: sn -k keypair.snk 下一步,從金鑰對中提取公鑰,並將其複製到乙個單獨的檔案中: sn -p keypair.snk public.snk 建立金鑰對之後,必須將檔案放在強名稱簽名工具可以找到的位置. 下面簡單的解釋以下strong   name: 加密簽名是計算機安全方面的名詞,加密分為對稱和非對稱加密,這裡用的是後者,strong   name是進行程式集版本控制和名稱保護的,對乙個程式集進行簽名後就會得到乙個strong   name。strong   name由以下幾部分組成程式集的標識(即它的簡單文字名稱),版本號和區域性資訊(如果提供的話),以及公鑰和數字簽名。strong   name可以確保乙個程式集名稱的唯一性。強名稱是使用相應的私鑰,通過程式集檔案(包含程式集清單的檔案,並因而也包含構成該程式集的所有檔案的名稱和雜湊)生成的。需要強調的是,是對程式集的加密和簽名(包括名稱,版本等資訊)得到強名稱,強名稱是唯一的,所以程式集也是唯一的,程式集加密簽名成strong   name需要使用私鑰,這個私鑰由keyname和keyfile組成,其中keyname   是指已經安裝在計算機上的加密服務提供程式(csp)中的金鑰。keyfile   是指包含金鑰的檔案(其實就是.snk檔案)。keyfile通過sn.exe生成。

強名介紹2

強名用來證明這個生成的程式集是你發布的 而且,如果你寫的程式集要用在多個應用程式上的話,那麼這個程式集必須要擁有唯一的名稱,這個強名稱是程式集唯一名稱的一部分。另外,只要你保護好你的snk檔案不要公布出去,那麼沒有任何人可以假冒你發布程式集。強名稱簽名的原理是不對稱簽名驗證演算法。首先你用sn.ex...

pm命令介紹與包名資訊查詢

pm工具為包管理 package manager 的簡稱 可以使用pm工具來執行應用的安裝和查詢應用寶的資訊 系統許可權 控制應用 pm工具是android開發與測試過程中必不可少的工具,shell命令格式如下 pm shell模式下 pm list packages options filter ...

NSIS 繫結檔案字尾名完整介紹

nsis是常用的製作軟體安裝程式的工具,因其功能強大而很受歡迎。但很多軟體都有自己的檔案,這些檔案往往有獨特的字尾名,而且往往需要支援雙擊檔案即可開啟。這時就需要對檔案字尾名進行關聯。dos下關聯檔案字尾名常用的指令是assoc和ftype。我們可以看到這兩個指令的幫助內容 顯示或修改副檔名關聯 a...