如何:创建公钥/私钥对
要使用強(qiáng)名稱為程序集簽名,必須具有公鑰/私鑰對(duì)。??這一對(duì)加密公鑰和加密私鑰用于在編譯過(guò)程中創(chuàng)建強(qiáng)名稱程序集。??您可以使用強(qiáng)名稱工具 (Sn.exe)?來(lái)創(chuàng)建密鑰對(duì)。??密鑰對(duì)文件通常具有 .snk 擴(kuò)展名。 ?
| 在 Visual Studio 中,C# 和 Visual Basic 項(xiàng)目屬性頁(yè)包括一個(gè)“簽名”選項(xiàng)卡,通過(guò)該選項(xiàng)卡,您無(wú)需使用 Sn.exe 即可選擇現(xiàn)有密鑰文件或生成新密鑰文件。??在 Visual C++ 中,可以在“屬性頁(yè)”窗口的“配置屬性”部分的“鏈接器”部分中,在“高級(jí)”屬性頁(yè)中指定現(xiàn)有密鑰文件的位置。??從 Visual Studio 2005 開始,使用?AssemblyKeyFileAttribute?特性標(biāo)識(shí)密鑰文件對(duì)的用法已過(guò)時(shí)。?? |
創(chuàng)建密鑰對(duì)
在命令提示符處,鍵入下列命令:
sn –k?<file name>
在此命令中,“文件名”是包含密鑰對(duì)的輸出文件的名稱。
下面的示例創(chuàng)建名為?sgKey.snk?的密鑰對(duì)。
sn -k sgKey.snk如果您需要延遲對(duì)程序集簽名并控制整個(gè)密鑰對(duì)(密鑰對(duì)不太可能在測(cè)試方案之外),可使用以下命令生成密鑰對(duì),然后從中將公鑰提取到一個(gè)單獨(dú)的文件中。??首先,創(chuàng)建密鑰對(duì):??
sn -k keypair.snk-
下一步,從密鑰對(duì)中提取公鑰,并將其復(fù)制到一個(gè)單獨(dú)的文件中:
-
創(chuàng)建密鑰對(duì)之后,必須將文件放在強(qiáng)名稱簽名工具可以找到的位置。
當(dāng)使用強(qiáng)名稱對(duì)程序集進(jìn)行簽名時(shí),程序集鏈接器 (Al.exe)?查找與當(dāng)前目錄和輸出目錄相關(guān)的密鑰文件。??當(dāng)使用命令行編譯器時(shí),只需將密鑰復(fù)制到包含代碼模塊的當(dāng)前目錄即可。??
如果使用的是 Visual Studio 的早期版本,在項(xiàng)目屬性中沒(méi)有“簽名”選項(xiàng)卡,則建議的密鑰文件位置為按如下所示指定了文件特性的項(xiàng)目目錄:
C# C++ VB [assembly:AssemblyKeyFileAttribute("keyfile.snk")] 請(qǐng)參閱創(chuàng)建和使用具有強(qiáng)名稱的程序集
轉(zhuǎn)載于:https://www.cnblogs.com/1175429393wljblog/p/5378002.html
總結(jié)
以上是生活随笔為你收集整理的如何:创建公钥/私钥对的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DBA用于查询当前数据库表格记录条数的脚
- 下一篇: MongoDB Shell工具:mong